公開鍵認証によるssh
秘密鍵と公開鍵のペアをクライアント側で生成し,公開鍵をサーバーに登録することで,パスワードなしで接続できる.
キーペアの生成
$ ssh-keygen -t rsa -b 4096
途中,パスフレーズを設定する.パスフレーズなしでも設定はできる.
-t rs
a:RSA鍵ペアの生成(デフォルトはRSA)-b 4096
:鍵長を4096ビットに設定(デフォルトは2048)
生成されるファイルは,~/.ssh/id_rsa
(秘密鍵)と~/.ssh/id_rsa.pub
(公開鍵)
公開鍵の登録
$ ssh-copy-id -p 22 user@hostname
-p 22
:ポート番号の指定user
:接続先のユーザー名hostmane
:接続先のホスト名(IPアドレス)
これでパスワードなしでSSHすることができる.
接続先の保存
~/.ssh/config
ファイルに接続先の情報を記述することで,簡単にsshできるようになる.以下は記述例
# example.comのサーバー
Host server1
HostName example.com
User user1
Port 22
IdentityFile ~/.ssh/id_rsa
プロパティ | 説明 |
---|---|
Host | エイリアス名 |
HostName | 接続先のホスト名,またはIPアドレス |
User | ログインユーザー名 |
Port | ポート番号(デフォルトは22) |
IdentityFile | 秘密鍵のパス名 |
接続
上記を設定することで,パスワード無しでssh接続できるようになる.
$ ssh server1