このトピックでは、次の問題の原因と解決策について説明します。サードパーティのSSHクライアントを使用してLinux Elastic Compute Service (ECS) インスタンスに接続すると、「サポートされている認証方法が利用できません (サーバー送信済み: publickey、gssapi-keyex、gssapi-with-mic) 」というエラーメッセージが表示されます。
問題の説明
サードパーティのSSHクライアントを使用してLinux ECSインスタンスに接続すると、正しいログイン資格情報を入力しても、次のようなエラーメッセージが表示されます。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
sshd[10826]: Connection closed by XX.XX.XX.XX
によって閉じられました
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
原因
上記の問題は、パスワードまたはキーを使用してECSインスタンスに接続する場合に発生します。
パスワードを使用してECSインスタンスに接続するときに問題が発生した場合、インスタンスでのパスワードベースのログインが拒否される場合があります。 この問題を解決するには、
PasswordAuthentication
パラメーターの値をyes
に変更します。 詳細については、このトピックの「解決策1: パスワードベースのログオンを許可する」をご参照ください。キーを使用してECSインスタンスに接続するときに問題が発生した場合インスタンスでキーベースのログオンが拒否されたり、SSHキーペアの公開鍵が
. ssh/authorized_keys
使用するユーザーアカウントのファイル。 この問題を解決するには、/etc/ssh/sshd_config
ファイルを確認するか、公開鍵をauthorized_keys
ファイルにアップロードします。 詳細については、このトピックの「解決策2: パブリックキーをコピーしてauthorized_keysファイルに貼り付ける」をご参照ください。
解決策1: パスワードベースのログオンを許可する
VNC (Virtual Network Computing) を使用してECSインスタンスに接続します。
詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。
/etc/ssh/sshd_config
ファイルのPasswordAuthentication
パラメーターの値を確認します。sudo cat /etc/ssh/sshd_config
次の図は、
PasswordAuthentication
パラメーターがno
に設定されていることを示しています。 パスワードベースのログオンを許可するには、PasswordAuthenticationパラメーターをyes
に設定します。PasswordAuthentication
パラメーターの値をnoからyes
に変更します。SSH設定ファイルを開きます。
sudo vim /etc/ssh/sshd_config
PasswordAuthentication
パラメーターの値をnoからyes
に変更します。Escキーを押して
:wq
と入力し、enterキーを押して設定ファイルを保存して閉じます。
次のコマンドを実行して、SSHサービスを再起動します。
sudo systemctl restart sshd.service
Linux ECSインスタンスに再接続します。 Linux ECSインスタンスに接続できれば、上記の問題は解決されます。
解決策2: 公開鍵をコピーしてauthorized_keysファイルに貼り付ける
VNCを使用してECSインスタンスに接続します。
詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。
/etc/ssh/sshd_config
ファイルのPubkeyAuthentication
パラメーターの値を確認します。sudo cat /etc/ssh/sshd_config
PubkeyAuthentication
パラメーターの値をnoからyes
に変更します。SSH設定ファイルを開きます。
sudo vim /etc/ssh/sshd_config
PubkeyAuthentication
パラメーターの値をnoからyes
に変更します。Escキーを押して
:wq
と入力し、enterキーを押して設定ファイルを保存して閉じます。次のコマンドを実行して、SSHサービスを再起動します。
sudo systemctl restart sshd.service
公開鍵をコピーして
authorized_keys
ファイルに貼り付けます。次のコマンドを実行して、
authorized_keys
ファイルを開きます。sudo vim /home/user/.ssh/authorized_keys
説明上記のコマンドの <user> を実際のユーザー名に置き換えます。
I
キーを押して挿入モードに入ります。SSHキーペア用に保存した公開キーをコピーして、
authorized_keys
ファイルに貼り付けます。Esc
キーを押して:wq
と入力し、enterキーを押してファイルを保存して閉じます。
Linux ECSインスタンスに再接続します。 Linux ECSインスタンスに接続できれば、上記の問題は解決されます。