前職の先輩から「rshでLinux側のmakeコマンドを実行したい」という相談がありました。rコマンドはUnixで使ったことがあったので何とかなると思ってやり始めたものの、はまって大変でした。先輩がはまったのも良くわかります。で、結果的にはセキュリティを考慮してsshで代替することにしました。
以下、とりあえず手順をメモしておきます。*1。
なおLinux側ではsshdが起動されていてポートも空いている状態とします*2。ちなみに私の環境はLinux側がFedoracore4でWindows側がXP SP2です。
- ダウンロードサイトはこちら (インストール中に選択メニューが現れますがクライアントのみでいいです)
■RSA鍵を作成する。
- コマンドプロンプトで次のコマンドを入力する。いろいろと聞かれるがすべて「エンターキー」のみでよい。
- 公開鍵と秘密鍵ファイルが以下のフォルダに生成される。
c:\document and setting\username\.ssh\id_rsa ←秘密鍵
c:\document and setting\username\.ssh\id_rsa.pub ←公開鍵
- id_rsa.pubをメモ帳で開き、その内容をコピーしておく(Ctrl-c)
■公開鍵をLinux側に登録する
chmod 755 .ssh
cd .ssh
vi authorized_keys
先ほどコピーしておいた内容をここにペーストしてファイルを保存しviを終了する。*5
■接続テスト
- すると以下のメッセージが表示されるのでyesと入力する。
The authenticity of host '192.168.1.xx (192.168.1.xx)' can't be established.
RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.
Are you sure you want to continue connecting (yes/no)? yes
- Linux側のsshdの設定ファイル(/etc/ssh/sshd_config)によって動作が変わるかもしれません。私はデフォルトから修正していません。
- ssh -v username@hostname ls と-vオプションをつけると詳細な情報が見れます。調査に使えると思います。
■その他
scp Window側のファイル名 username@hostname:ファイル名
- ターミナルとしても使えます。
ssh username@hostname
■参考サイト
*1:以前、puttyでRSA鍵認証によるパスワードなしログインを設定した覚えがあったのでできると踏んでいたのですが。。。うまくいかず。昨日は帰ったのが2時。
*2:WindowsからputtyなどでLinuxにssh接続できる状態ということ
*3:Cygwinを入れても同じだと思います。Cygwinの場合はデフォルトではopensshがインストールされないのでココなどを参考にしてインストールしましょう。
*4:既に.sshが存在する場合で、特に以前の鍵情報が必要なければ(多くの人がそうだと思う)rm -rf .sshで削除した方がいいと思う
*5:もちろんvi以外のエディタでも結果は同じ。既にauthorized_keysが存在する場合は最後尾に追加する必要がある。