【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内の範囲に留めた方が良さそうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です