no matching cipher found. Their offerと出る
cygwin経由でCiscoのVPNルータにログインしようとすると、以下のようなエラーを出力してSSH接続することが出来なくなりました。
Unable to negotiate with x.x.x.x port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
no matching cipher found. Their offerについて日本語翻訳にかけると
「一致する暗号が見つかりませんでした。これらのオファー aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc」
cygwinをバージョンアップした際にセキュリティが強化されたと推測していますが、困りました。
どうすればSSH接続ができるようになるの?
調べてみると、~/.ssh/configを作成して以下の通りに記述すればいいと情報を確認しました。
[記述内容]
Host XXX.XXX.XXX.XX
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
設定し接続してみたところ、今度は別のエラーが出力されました。
Bad owner or permissions on /home/XXXXX/.ssh/config
ファイルの権限の問題のようでした。
chmodを試してみましたが、「Bad owner or permissions」のエラーが解決できません。
うーんと唸っていると、configファイルをWindows上で作成してテキストエディタで記述していたことに気が付きました。
そこでcygwinからviでconfigを記述するとエラーが出なくなりました。
そしてSSH接続が問題なく完了しました。
残る問題点の解消
この方法の記述方式だと、ホスト単位でConfigに記載する必要があります。
例えば・・・
host 10.1.1.1
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
host 10.1.1.2
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
・・・
流石に面倒です。
ワイルドカードは有効かなと期待を込めて設定してみます。
host *
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
どのVPNルータにも問題なく接続が出来ました。
良かった。
0 件のコメント:
コメントを投稿