
MacOS Ventura / SonomaでSSHが機能しない問題を解決する方法
一部のMacユーザーから、macOS Ventura 13以降(Sonomaを含む)にアップデートしてから、MacでSSHが機能しなくなったという報告が寄せられています。通常、別のサーバーにSSH接続しようとすると、「一致するホストキーの種類が見つかりません。ssh-rsaが利用可能です」といったエラーメッセージが表示されます。
この問題の原因は、macOS Ventura に同梱されている OpenSSH のバージョンがデフォルトで RSA 署名を無効にしていることにあるようです。そのため、より安全なハッシュを使用するか、RSA 署名を許可するだけで問題を解決できます。後者の方法を説明します。
ここでは簡単でユーザーフレンドリーな nano を使用しますが、vi/vim やお好みのテキスト エディターを使用しても構いません。
macOS Sonoma / VenturaでRSA署名が機能しないSSHを修正する方法
RSA ホスト キーを再度許可するように ssh_config ファイルを変更します。その方法は次のとおりです。
ターミナル (Spotlight 経由またはユーティリティ フォルダ経由) を開き、次のコマンド文字列を入力します。
sudo nano /etc/ssh/ssh_config
管理者パスワードで認証する必要があります。
ssh_config ファイルの一番下までスクロールし、次の行を ssh_config の一番下に追加します。
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
保存するには Control+O を押し、終了するには Control+X を押します。
SSH を使用して RSA キーでサーバーに再度接続してみてください。意図したとおりに動作するはずです。
コマンドラインで作業している間、必要に応じてターミナルからSSHを有効にして、MacへのSSH接続を許可することもできます。例えば、iPadや他のコンピュータからコマンドラインでMacにリモートアクセスしたい場合など、この機能を使えば可能です。
このエラーは、MacOS で SSH がオンになっていることを確認した後でも発生する可能性があります。これは、いずれにしても、アウトバウンドの SSH 接続には影響しないはずですが、一部のユーザーから問題が解決したという報告があるため、それも試してみてください。また、接続先のコンピューターが SSH を実行している Mac である場合は、明らかに違いが出るでしょう。一部の Mac ユーザーは、システム ソフトウェアを更新する前は SSH が有効になっていたとしても、MacOS Ventura および macOS Sonoma では SSH がデフォルトで無効になっていることに気づいています。