概要
鍵による認証で、パスワード無しでsshログインする。
接続元で公開鍵と秘密鍵を作成して、接続先に公開鍵を置いておくことで認証済みとなる。
手順
- 接続元サーバで鍵の作成
- 接続先サーバに公開鍵を置く
- 確認
以下のコマンドで鍵を生成する。 パスフレーズは入れない。
1 |
$ ssh-keygen -t rsa |
鍵を入れるディレクトリと、パスフレーズを求められるが全てリターンで無視する
1 2 3 4 5 6 7 |
$ 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 が無い場合は作成する
作成
1 |
$ cat /dev/null > $HOME/.ssh/authorized_keys |
権限変更
1 2 |
$ chmod 700 $HOME/.ssh $ chmod 600 $HOME/.ssh/authorized_keys |
authorized_keys に、 接続元サーバの $HOME/.ssh/id_rsa.pub にある内容をコピーする。
1 |
$ vi $HOME/.ssh/authorized_keys |
authorized_keys は以下のようになる。
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAocNh(中略)PiOytCyUzELG34M/Mb6XDl0JPEYfQ== user@server |
接続元サーバから、接続先サーバにssh接続
1 |
$ssh user@接続先サーバ |
公開鍵と秘密鍵を生成するときに、パスフレーズを指定してあると接続時にパスフレーズの入力が求められる。