ssh
をec2
ホスト。既存のソリューションを試しましたchmod 600 "My.pem"
しかし、まだ機能しませんでした。ここに私のデバッグ情報があります:
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 54.223.47.74 [54.223.47.74] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file My.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file My.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to 54.223.47.74:22 as 'root'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client [email protected] <implicit> none
debug1: kex: client->server [email protected] <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server Host key: ecdsa-sha2-nistp256 SHA256:tfjxcE5kePSv1cJK7SWBp/56kgm2DQkyPLSLZ4d73Io
debug1: Host '54.223.47.74' is known and matches the ECDSA Host key.
debug1: Found key in /Users/tan/.ssh/known_hosts:24
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Trying private key: My.pem
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
次のコマンドを使用して、centosマシンでこの問題を解決しました。
ssh -i <Your.pem> ec2-user@<YourServerIP>
それは約userNameであり、ec2-user
私の場合。
ec2-user
の代わりにユーザーcentos
で接続することで解決しました。
ユーザーを/etc/sshd_special_user
に追加します
cd .ssh
rm authorized_keys
ファイルにアクセスするか、アクセスしようとしているマシンの保存されたキーを編集して削除します。
chmod 400 keyname
を使用してキーファイルのアクセス許可を変更します(keyname
がAmazonにあるものと正確に一致することを確認してください)。
ec2-user@IPaddress -i keypair.pem
でもう一度お試しください
キーが存在するディレクトリと同じディレクトリにいるかどうかを確認します。私は同じ問題を抱えていて、それが接続しようとした間違ったディレクトリ形式であることがわかりました
最近、私はこの問題を経験しました。偶然、私はchmod -R g+rw .
変更された.ssh
フォルダーの許可。
以下のアクセス許可の変更、
[ec2-user〜] $ chmod 600 mount_point/home/ec2-user/.ssh/authorized_keys
[ec2-user〜] $ chmod 700 mount_point/home/ec2-user/.ssh
[ec2-user〜] $ chmod 700 mount_point/home/ec2-user
一時インスタンスからソースディスクをアンマウントします
ソースマシンにアタッチし直します
同じコマンドを使用してログインし、
ssh -i FileName.pem username @ MachineIP
詳細については、こちらをご覧ください AWS Trouble Shooting Docs
Macの場合:
cd .ssh
Sudo nano know_hosts
そして、問題のあるホストの情報を削除します。
エラーの端末での解決
許可が拒否されました(publickey、gssapi-keyex、gssapi-with-mic、password)。
ssh-keygen -f " ~/.ssh/known_hosts" -R xx.xx.xxx.xxx
xx-IPホスト