環境など
クライアントOS: macOS Ventura 13.0.1
サーバOS(繋がらなくなった): AWS Amazon Linux AMI release 2015.03
サーバOS(繋がる): Amazon Linux AMI release 2018.03
やりたいこと: sshログイン
はじまりは
今まで何十回となくログインしてきたサーバに、ある日(2022年に入ってから)を境にログインできず、以下のエラーが表示されるようになった。
% ssh serverA
sign_and_send_pubkey: no mutual signature supported
ec2-user@nn.nn.nn.nn: Permission denied (publickey).
TL;DR
macOSのバージョンアップにより、クライアント側のOpenSSLのバージョンが上がったから。
Montereyの途中からのような気がするが、もしかするとVenturaからかもしれない。
持っている MacBook はすべて Ventura に上げてしまったので、もう分からない。
解決方法
~/.ssh/config を使っているが、下記の2行を追加した。
PubkeyAcceptedKeyTypes=+ssh-rsa
HostKeyAlgorithms=+ssh-rsa
使っている鍵の形式によっては、 ssh-rsa
の部分が ssh-dss
になったりする。
SSHのバージョン
クライアント側(macOS Ventura 13.0.1)
OpenSSH_9.0p1, LibreSSL 3.3.6
サーバ側(繋がらない、というか繋がらなくなった)
OpenSSH_6.2p2, OpenSSL 1.0.1k-fips 8 Jan 2015
サーバ側(前と変わらず繋がる)
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017