【Mac】macOSでSSHログインが失敗する問題 (no matching cipher found.)
macOSのターミナルアプリから、Cisco Catalyst 2960GにSSHログインしようとしたところ、以下のようなエラーが表示され、ログインに失敗することがありました。
$ ssh username@192.168.10.10
Unable to negotiate with 192.168.10.10 port 22: no matching cipher found. Their offer: 3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc
調べてみたところ、最近のmacOSは古い機器で使用されているSSHの暗号化方式は標準で対応していないようです。
解決方法
vimなどのテキストエディタで、自ユーザのホームディレクトリに存在するSSHの設定ファイルを開きます。存在しない場合は、新規に作成します。
$ vim ~/.ssh/config
以下内容を記載します。Host
の箇所は、IPアドレスを直接指定する方法と、ワイルドカードで範囲を指定する方法が使えます。
Host 192.168.10.*
Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc
Host
に*
を指定して全範囲に適用することもできますが、インターネット上の信頼できないサーバにも接続できてしまうので、LAN内の範囲に留めた方が良さそうです。