Linux
Tips |
|
sshでパスワードなしにログインするには
北浦訓行
2003/5/22
|
sshは、ssh-agentを使用するとパスワード認証なしにログインすることが可能だ。この方法は鍵交換方式を用いるので、あらかじめ鍵を作成しておく必要がある。ここでは、sshサーバ(例ではpandora)で鍵を生成し、リモートクライアントからsshサーバにパスワード認証なしにアクセスする方法を紹介する。
まず、sshサーバにログインして鍵を生成する(以前に鍵を作成している場合は、新たに作成する必要はない)。
$ ssh-keygen -t rsa ←RSA暗号方式の鍵を作成
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nori/.ssh/id_rsa): ←[Enter]キー
Enter passphrase (empty for no passphrase): ←パスフレーズを入力
Enter same passphrase again: ←同じパスフレーズを入力
Your identification has been saved in /home/nori/.ssh/id_rsa.
Your public key has been saved in /home/nori/.ssh/id_rsa.pub.
The key fingerprint is:
f9:81:b6:c7:8f:b9:aa:3e:0e:c6:bd:35:19:a1:1e:06 nori@pandora |
以上で、$HOME/.ssh/ディレクトリに秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作成される。次に、公開鍵を~/.ssh/authorized_keysに追加し、パーミッションを600に変更する。
$ cat id_rsa.pub >> $HOME/.ssh/authorized_keys
$ chmod 600 $HOME/.ssh/authorized_keys |
続いて、秘密鍵(id_rsa)をフロッピーディスクにコピーする。コピーが終わったら、フロッピーディスクをリモートクライアントのFDDに挿入する。以降は、リモートクライアントでの操作になる。
まず、evalコマンドでssh-agentを起動する。ここで「ssh-agent」を囲んでいる記号は[Shift]+[@]キーを押すと入力される「`」だ。[Shift]+[7]キーを押すと入力される「'」ではないので注意が必要だ。
$ eval `ssh-agent`
Agent pid 1084
$ su
Password
# mount /mnt/floppy
# exit |
次に、認証エージェント(ssh-agent)に秘密鍵を登録する。
$ ssh-add /mnt/floppy/id_rsa ←ssh-agentに秘密鍵を登録
Enter passphrase for /mnt/floppy/id_rsa: ←パスフレーズを入力
Identity added: /mnt/floppy/id_rsa (/mnt/floppy/id_rsa)
$ su
Password
# umount /mnt/floppy
# exit |
以上で、sshサーバにパスワード認証なしにアクセスできるようになる。以下のようなコマンドで確認できる。
$ scp pandora:~/file1.txt .
file1.txt 100% |*****************************| 45 00:00 |
最初だけは接続の確認(「yes」を入力する必要がある)が行われるが、2回目からはすぐにコピーが行われる。作業が終了したら、以下のコマンドを実行してssh-agentを終了する。
$ eval `ssh-agent -k`
Agent pid 1084 killed |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間