AWSサーバーへのSSHがPuTTYとFilezillaの両方で壊れました。この投稿が包括的なトラブルシューティングリストになるように努力していますので、他のスタックオーバーフローページへのリンクを共有する場合は、それらを質問に編集します。
Disconnected : No supported authentication methods available (server sent :publickey)
このエラーは、ほぼ1年前に接続を設定したときと同じです。 AWS SSHを初めてセットアップする場合、これらは最も一般的な問題に対処します。
ただし、以前に動作していたシステムに影響を与えると考えられる唯一のものは次のとおりです。
他にどんな可能性がありますか?
これに対する解決策は(以下の受け入れられた投稿による)、AWS EC2ではこれらの3つすべてが適切なアクセス許可を持つ必要があるということです(777notこれらのいずれについてもOK)。動作する1つの例を次に示します。
/home/ec2-user/ - 700
/home/ec2-user/.ssh/ - 600
/home/ec2-user/.ssh/authorized_keys - 600
/ var/log/secureはエラーをスローしているものを教えてくれます。完全にロックアウトされている場合は、このビデオチュートリアルを参照してアクセスしてください: http://d2930476l2fsmh.cloudfront.net/LostKeypairRecoveryOfLinuxInstance.mp4 =
私にとって、このエラーは、ユーザーのホームディレクトリを次のように変更した直後に表示されました。
Sudo usermod -d var/www/html username
〜/ .sshのauthorized_keyファイルへの適切なアクセス許可がないために発生することもあります。このファイルの許可が0600で、〜/ .sshの許可が700であることを確認してください。
以前に動作していたシステムに影響を与える別の原因があります。 Ubuntuの代わりにAmazon Linuxを使用するように(AWS OpsWorksを使用して)インスタンスを再作成し、そうするとこのエラーを受け取りました。 「ubuntu」ではなく「ec2-user」をユーザー名として使用するように切り替えると、問題が解決しました。
また、正しいLinuxユーザーはいるが、ファイル.ssh/authorized_keysを作成しておらず、公開キーを Linuxインスタンスでのユーザーアカウントの管理
PuTTYは、Amazon EC2によって生成された秘密キー形式(.pem)をネイティブにサポートしていません。 PuTTYには、PuTTYgenという名前のツールがあり、キーを必要なPuTTY形式(.ppk)に変換できます。 PuTTYを使用してインスタンスに接続する前に、秘密キーをこの形式(.ppk)に変換する必要があります。
これを実行する手順は次のとおりです。 https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/PuTTY.html
これで問題は解決しました。
偶然の間違いにより、私は同じ問題を抱えていました。誰かが同じ間違いをした可能性がある場合に備えて、ここで共有します。
他の人が説明したように、基本的な手順。
幸運を!
包括的な回答はこちら: https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/PuTTY.html
問題は、不正なログインに関連している可能性があります。これはAMIによって異なります。次のAMIで次のログインを使用します。
OSを使用している場合:
ssh -i your-ssh-key.pem login@IP-or-DNS
幸運を。
ほとんどの場合、ログインに間違ったユーザー名を使用しても認証方法エラーは発生しませんでした。しかし、接続の問題にまだ苦しんでいて、上記のすべてのオプションを試した場合、何か他のものを見つけます。
いくつかのLinux VMを作成し、そのような接続の問題を再現しようとしました。AWSからキーペアの名前を尋ねられたときに、空白スペース( "")およびドット( "。")を使用しないでくださいキーペア名では、AWSでさえ実際に許可されています。
例キーペアに「AWS.FREE.LINUX」という名前を付けると、接続は常に拒否されます。 「AWS_FREE_LINUX」という名前を付けると、すべて正常に機能します。
これが少し役立つことを願っています。
私にとっては、FileZillaに秘密鍵がどこにあるかを伝える必要がありました。
同じ問題がありました。Public IPの代わりにPublic DNSを使用しました。今すぐ解決しました。
OpsWorksを使用していて、AWS Cli上のWindowsマシンから新しい既存のLinuxインスタンスを登録したかった。
最初の問題は、PuTTYが生成した.pkkファイルを使用しなければならなかったことです。
2番目の問題は、そのような.pkkファイルへの絶対パスquoteが必要だったことです。
aws opsworks register --infrastructure-class ec2 --ssh-username ec2-user --ssh-private-key "C:\ key.ppk"
複数のインスタンスに基づいて、キーファイルとユーザー名が正しい場合、これはルートユーザーに関連付けられた特定のディレクトリ権限を変更するときに発生するようです。
同様の問題が今日私にも起こりました。私もこれについて多くを検索しました。誰も助けません。 2つの変更を加えただけで、適切に機能するようになりました。
それがあなたを助けることを願っています。
私の場合、問題はppkファイルが%USERPROFILE%.sshフォルダーではなく%USERPROFILE%\ Downloadsに置かれたことです。
ファイルを移動した後、問題は消えました。