🐏
Amazon Linux 2023 へSSH接続できない状況について
- AWS EC2用のAMIでAmazon Linux 2023 (以下AL2023と略す)を選択することができるよになったが、一部のSSHクライアントではSSH接続できないことがある。
- AL2023ではOpenSSH 8.7p1採用によりRSA/SHA1が廃止されたため、SSHクライアントはssh-ed25519やecdsa-sha2-nistp256、rsa-sha2-256などをサポートする必要があるみたい。
SSH接続状況
- WindowsだとTera Term使用が多いと思われるのでバージョンには注意が必要。
- 最近発表されたRC版のTera Term 4.107を使うかコマンドプロンプトでSSH接続できる。
- macOSはターミナルで問題なく接続はできた。
Windowsの場合
ソフトウェア/バージョン | SSH接続可否 |
---|---|
Tera Term 4.106 | NG |
Tera Term 4.107 | OK |
Tera Term 5.0 beta1 | OK |
コマンドプロンプト (Windows 10 22H2) | OK |
コマンドプロンプト (Windows 11 22H2) | OK |
踏み台経由でAL2023にSSH接続するには
- RHEL 6系 (CentOS 6系含む)等からAL2023にはデフォルトではSSH接続できないようだ
SSHクライアント側 (RHEL 6系)で以下を実施する。
- ECDSA ホストキーを生成する。
# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -C '' -N ''
# chmod 600 /etc/ssh/ssh_host_ecdsa_key
# chmod 640 /etc/ssh/ssh_host_ecdsa_key.pub
- 明示的にECDSAホストキーを使用するようにする。
以下のいづれかで問題ない。※自ユーザの設定範囲内だと2.2か2.3が現実的だと思う。
2.1. SSHクライアント側で/etc/ssh/ssh_configを編集し、ECDSAホストキーを受け入れるよう設定する。
/etc/ssh/ssh_config 設定例
Host <接続先IPアドレス/ホスト名>
HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
2.2. SSHコマンドのオプションを付けて実行する。
実行例
$ ssh -o HostKeyAlgorithms=ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 ユーザ名@<ホスト名/IPアドレス
2.3. ~/.ssh/configを編集する。
自分のホームディレクトリの.ssh/configを編集し、パーミッションを640等する。
~/.ssh/config 設定例
Host al20023-test # 任意の名前:SSH接続する名前
HostName <接続先IPアドレス/ホスト名>
User <接続先ユーザ名> # 任意:なくてもよい
Port 22 # 任意:22番なら記述必要なし
IdentityFile ~/.ssh/al20023.pem # 任意:公開鍵認証の場合秘密鍵のPATHを指定
HostkeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
実行例
$ ssh al20023-test
Discussion