Featured image of post 【sign_and_send_pubkey: no mutual signature supported】MACからAWSのEC2にRSA秘密鍵を使ってSSH接続出来ない原因と解決方法【Permission denied (publickey)】

【sign_and_send_pubkey: no mutual signature supported】MACからAWSのEC2にRSA秘密鍵を使ってSSH接続出来ない原因と解決方法【Permission denied (publickey)】

498文字

MACからEC2にSSH接続出来なくなった

Permission deniedキターーー(泣)

先日、久しぶりに昔作ったEC2SSH接続しようとした際に以下のようなエラーが発生して接続が出来なくなっていました。

ssh <エイリアス>
sign_and_send_pubkey: no mutual signature supported
{ユーザー}@{ホスト}: Permission denied (publickey).

むむむ。。。なぜだ。。。

MACのsshクライアントの更新が原因

これはMACの標準SSHクライアントの更新によって、デフォルトではRSAをサポートしなくなったのが原因らしいです。

原因が分かれば対策は簡単です!早速解決していきましょう♪

手順

.ssh/configを修正

解決方法はとても簡単です。

.ssh/config以下2行を追記するだけでOKです。

~/.ssh/config
Host {エイリアス}
  HostName {ホスト}
  User {ユーザー}
  IdentityFile {キーファイルパス}
  PubkeyAcceptedKeyTypes=+ssh-rsa ←追記1
  HostKeyAlgorithms=+ssh-rsa ←追記2

たったこれだけです。

再度確認

では改めてSSHコマンドを実行してみましょう。

ssh <エイリアス>
Last login: Fri Jan 03 08:34:46 2024 from {接続元}
       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2017.03-release-notes/
139 package(s) needed for security, out of 189 available
Run “sudo yum update” to apply all updates.
Amazon Linux version 2018.03 is available.

無事に接続できましたね♪

終わりに

MACを使ってSSH接続をしている方はおそらく発生する可能性が高いであろう事象でした。

同じ現象でお困りの方は是非参考にしてみてください♪