公開鍵認証によるssh
秘密鍵と公開鍵のペアをクライアント側で生成し,公開鍵をサーバーに登録することで,パスワードなしで接続できる.
キーペアの生成
$ ssh-keygen -t rsa -b 4096途中,パスフレーズを設定する.パスフレーズなしでも設定はできる.
-t rsa: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