🔑
踏み台サーバーのアルゴリズムが古い場合の多段SSHの方法
踏み台サーバーが古いためにオプション無しではssh実行時にアルゴリズムが合致せず、sshできない場合があります。
また、多段ssh(portfoward)を実行したい場合にはさらに厄介です。
そうした場面で使えるsshの設定です。
!!!注意!!!
本記事では回避策を掲示していますが、セキュリティ対応を遅らせることを推奨するものではありません。
サーバー側のセキュリティ更新が絶対です。
古いアルゴリズムは暗号化強度が弱く、解読されてしまう危険性が高まります。
.ssh/config
ファイルの利用
.ssh/config
を利用するとsshコマンド実行時に接続先が補完され、user名など値がaliasの中でまとめて設定でき便利です。
この .ssh/config
ファイルでは、接続先hostごとに利用するアルゴリズムも指定できます。
このオプションで、踏み台サーバーが利用可能なアルゴリズムを指定します。
例えば以下のような形式です
Host example-bastion-server
Hostname 192.0.0.1
User example
Port 22
KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Ciphers aes128-cbc
HostKeyAlgorithms ssh-dss,ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
portfoward実行時のsshコマンドで.ssh/configファイルのaliasを利用
あとは、portfoward実行時のbastion serverにて、.ssh/config
で設定したaliasを指定します。
ssh -v -N -L localhost:6666:10.0.0.1:22 -o ConnectTimeout=15 -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -p 22 example-bastion-server
Discussion