概要
鍵による認証で、パスワード無しでsshログインする。
接続元で公開鍵と秘密鍵を作成して、接続先に公開鍵を置いておくことで認証済みとなる。
手順
- 接続元サーバで鍵の作成
以下のコマンドで鍵を生成する。 パスフレーズは入れない。
鍵を入れるディレクトリと、パスフレーズを求められるが全てリターンで無視する
|
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/xxxxx/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /xxxxx/.ssh/id_rsa. Your public key has been saved in /xxxxx/.ssh/id_rsa.pub. |
- 接続先サーバに公開鍵を置く
上記で、接続元サーバで作成した $HOME/.ssh/id_rsa.pub を接続先のサーバの .ssh/authorized_keys に保存する
$HOME/.ssh/authorized_keys が無い場合は作成する
作成
|
$ cat /dev/null > $HOME/.ssh/authorized_keys |
権限変更
|
$ chmod 700 $HOME/.ssh $ chmod 600 $HOME/.ssh/authorized_keys |
authorized_keys に、 接続元サーバの $HOME/.ssh/id_rsa.pub にある内容をコピーする。
|
$ vi $HOME/.ssh/authorized_keys |
authorized_keys は以下のようになる。
|
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAocNh(中略)PiOytCyUzELG34M/Mb6XDl0JPEYfQ== user@server |
- 確認
接続元サーバから、接続先サーバにssh接続
公開鍵と秘密鍵を生成するときに、パスフレーズを指定してあると接続時にパスフレーズの入力が求められる。