SSHのパスワードレス [MPI]
sshのパスワードレス
以前sshのパスワードレスの記事を書いたが、その後ちょっと訂正が必要だった。
結構はまったので、やり方を書いておく。
SSHをパスワードなしでログインするためのは鍵の設定が必要
わかりやすいようにHOSTAとHOSTB間をパスワードレスにする。
1)鍵の設定
.sshフォルダをいったん削除
[user@HOSTA ~]$ rm -rf ~/.ssh
HOSTAのRSA鍵の作成
[user@HOSTA ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
3d:43:ee:8d:0d:5e:09:07:d8:78:4d:23:ab:4c:19:4b user@sonyOSD
The key's randomart image is:
+--[ RSA 2048]----+
| E+ooo |
| .o+o+.. |
| +.+ . |
| o = o . |
| S * o |
| o O |
| + o |
| |
| |
+-----------------+
[user@HOSTA ~]$ cd .ssh/
[user@HOSTA .ssh]$ ls
id_rsa id_rsa.pub
ここで、id_rsaは私有鍵、id_rsa.pubは公開鍵。まず自分の私有鍵を登録
[user@HOSTA .ssh]$ eval `ssh-agent`
[user@HOSTA .ssh]$ ssh-add
[user@HOSTA .ssh]$ ssh-agent -k
2)公開鍵の設定。
まず自分の公開鍵のファイルを他のホストに渡していいように名前を変更する。
[user@HOSTA .ssh]$ cp id_rsa.pub id_rsa.hosta
[user@HOSTA .ssh]$ cat id_rsa.hosta >> authorized_keys
[user@HOSTA .ssh]$ chmod 644 authorized_keys
最後のパーミッションの設定が重要で、これをやらないとパスワードを聞かれてしまう。
ここまでの作業をHOSTBでも行う。
3)公開鍵のコピー
HOSTA側
[user@HOSTA .ssh]$ scp id_rsa.hosta user@HOSTB:/home/user/.ssh/
HOSTAの公開鍵をHOSTBにコピー
HOSTB側
[user@HOSTB .ssh]$ cat id_rsa.hosta >> authorized_keys
これで、HOSTB側にHOSTA側の情報が記録されたので、HOSTAからHOSTBにSSHでログインしたときにパスワードを聞かれなくなる。
以前sshのパスワードレスの記事を書いたが、その後ちょっと訂正が必要だった。
結構はまったので、やり方を書いておく。
SSHをパスワードなしでログインするためのは鍵の設定が必要
わかりやすいようにHOSTAとHOSTB間をパスワードレスにする。
1)鍵の設定
.sshフォルダをいったん削除
[user@HOSTA ~]$ rm -rf ~/.ssh
HOSTAのRSA鍵の作成
[user@HOSTA ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
3d:43:ee:8d:0d:5e:09:07:d8:78:4d:23:ab:4c:19:4b user@sonyOSD
The key's randomart image is:
+--[ RSA 2048]----+
| E+ooo |
| .o+o+.. |
| +.+ . |
| o = o . |
| S * o |
| o O |
| + o |
| |
| |
+-----------------+
[user@HOSTA ~]$ cd .ssh/
[user@HOSTA .ssh]$ ls
id_rsa id_rsa.pub
ここで、id_rsaは私有鍵、id_rsa.pubは公開鍵。まず自分の私有鍵を登録
[user@HOSTA .ssh]$ eval `ssh-agent`
[user@HOSTA .ssh]$ ssh-add
[user@HOSTA .ssh]$ ssh-agent -k
2)公開鍵の設定。
まず自分の公開鍵のファイルを他のホストに渡していいように名前を変更する。
[user@HOSTA .ssh]$ cp id_rsa.pub id_rsa.hosta
[user@HOSTA .ssh]$ cat id_rsa.hosta >> authorized_keys
[user@HOSTA .ssh]$ chmod 644 authorized_keys
最後のパーミッションの設定が重要で、これをやらないとパスワードを聞かれてしまう。
ここまでの作業をHOSTBでも行う。
3)公開鍵のコピー
HOSTA側
[user@HOSTA .ssh]$ scp id_rsa.hosta user@HOSTB:/home/user/.ssh/
HOSTAの公開鍵をHOSTBにコピー
HOSTB側
[user@HOSTB .ssh]$ cat id_rsa.hosta >> authorized_keys
これで、HOSTB側にHOSTA側の情報が記録されたので、HOSTAからHOSTBにSSHでログインしたときにパスワードを聞かれなくなる。
2009-11-25 06:07
nice!(0)
コメント(1)
トラックバック(0)
並列処理クラスタを組む際に貴ブログにはお世話になっております。
なんとなく気がかりだなぁと思った所がありましたので少々
eval 'ssh-agent'を行ったあとにssh-addナドナドを実行するのですが、
raspbian(Raspberry Pi)を用いため(dist依存)なのか、
「Could not open a connection to your authentication agent.」
が出力されてしまいました…
解決方法としてeval $(ssh-agent)を実行した後だと「Agent pid 2619」が出力され、ssh-addなどの操作が可能になりました。
eval 'ssh-agent'でも
「
SSH_AUTH_SOCK=/tmp/ssh-MDOCTcxtCry0/agent.2614; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2615; export SSH_AGENT_PID;
echo Agent pid 2615;
」
と出力されていた(評価されていた)あたり、PIDの違いがやはり関係が
有るのかなぁと思いました。
もしかしたらdistによって色々と変わるのかなぁと思いつつ、
何かの役に立つかな?書き込んだ次第です。
以上です。m(_ _)m
by henjin0 (2014-09-02 23:05)