$Date: 2018-07-07 06:49:13 +0900 (2018/07/07 (土)) $
$Revision: 1347 $
SSH の自動ログインメモ
SSH の自動ログインメモです
リンク
手順
クライアントPC
暗号化方式に関して、従来SSHのログインにRSA方式を使用していましたが、現在は ed25519 が推奨されています。
ed25519 を使えない場合は RSA 4096bit を使用します。RSAのデフォルトの2048bitでは弱いので、
鍵長を明示することによりセキュリティ強度を確保する必要があります。
公開鍵/秘密鍵の作成
ed25519 の場合
$ ssh-keygen -t ed25519
- 秘密鍵 .ssh/id_ed25519
- 公開鍵 .ssh/id_ed25519.pub
ed25519 の場合、鍵長は固定なので鍵長を指定しません。
RSA の場合
$ ssh-keygen -t rsa -b 4096
- 秘密鍵 .ssh/id_rsa
- 公開鍵 .ssh/id_rsa.pub
[2023/9/16追記]RSA鍵の生成で鍵長を指定しない場合、鍵長は 2048bit になります。2048bitでは暗号強度的に足りないとみなされるため
明示的に鍵長を -b オプションで 4096 を指定します。
公開鍵をサーバーに転送
ed25519 の場合
$ scp .ssh/id_ed25519.pub user@server:
RSA の場合
$ scp .ssh/id_rsa.pub user@server:
user → 実際のユーザー名に置き換えてください
server → 実際のサーバー名に置き換えてください
パーミッションの設定 (通常は不要)
ed25519 の場合
$ chmod 600 .ssh/id_ed25519
RSA の場合
$ chmod 600 .ssh/id_rsa
サーバー
公開鍵のセット
ed25519 の場合
$ mkdir -p ~/.ssh
$ cat id_ed25519.pub >> ~/.ssh/authorized_keys
$ rm id_ed25519.pub
RSA の場合
$ mkdir -p ~/.ssh
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ rm id_rsa.pub
パーミッションの設定
$ chmod 755 ~
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
.ssh/authorized_keys と .ssh/authorized_keys2
- 新しいバージョン: .ssh/authorized_keys
- 古いバージョン : .ssh/authorized_keys2
参考: /etc/ssh/sshd_config のAuthorizedKeysFile
動作しない場合
以下をチェック
- クライアント側の .ssh/id_ed25519 または .ssh/id_rsa のパーミッション (600)
- サーバー側のホームディレクトリのパーミッション (755)
- サーバー側の .ssh ディレクトリのパーミッション (700)
- サーバー側の .ssh/authorized_keys のパーミッション (600)