2012-05-05 17 views
4

EC2インスタンスを開始したばかりで、ssh接続を開始するのが難しいです。私はこの同じキーを使ってsshのためにうまくいた以前のEC2インスタンスを持っていたことに注意してください。私はこの新しいEC2インスタンスを同じキーペアを使用して開始したので混乱しています。Amazon EC2アカウントにsshできません。 (公開鍵エラー)

以下は私が試したことです。ここで何が起こっているのかに関する専門家のアドバイスはありますか?それを修正する方法は?

[email protected]:~/keys$ ssh -i mykey.pem [email protected] 
The authenticity of host '1.2.3.4 (1.2.3.4)' can't be established. 
RSA key fingerprint is aa:bb:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added '1.2.3.4' (RSA) to the list of known hosts. 
Permission denied (publickey). 

[email protected]:~/keys$ chmod 400 mykey.pem 
[email protected]:~/keys$ ssh -i mykey.pem [email protected] 
Permission denied (publickey). 

[email protected]:~/keys$ ssh -v -i mykey.pem [email protected] 
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: Applying options for * 
debug1: Connecting to 1.2.3.4 [1.2.3.4] port 22. 
debug1: Connection established. 
debug1: identity file mykey.pem type -1 
debug1: identity file mykey.pem-cert type -1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 
debug1: match: OpenSSH_5.3 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr hmac-md5 none 
debug1: kex: client->server aes128-ctr hmac-md5 none 
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
debug1: Server host key: RSA aa:bb:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc 
debug1: Host '1.2.3.4' is known and matches the RSA host key. 
debug1: Found key in /home/me/.ssh/known_hosts:10 
debug1: ssh_rsa_verify: signature correct 
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 
debug1: Next authentication method: publickey 
debug1: Trying private key: mykey.pem 
debug1: read PEM private key done: type RSA 
debug1: Authentications that can continue: publickey 
debug1: No more authentication methods to try. 
Permission denied (publickey). 
+0

sshディレクトリに 'publickey'ファイルがありますか?おそらく、sshが公開鍵をキーチェーンに書き込めないというエラーがどこにあるのでしょうか。 –

+0

@codingjoeあなたはsolutuinを見つけましたか?私もこの問題を抱えています。 – gilzero

答えて

0

試してみてください。代わりに

chmod 600 [FULL_PATH_TO_KEYFILE_DIRECTORY]/mykey.pem 

あなたのAMIがAmazon AMIなら、ユーザー名にはec2-userを使用してください。

それでも動作しない場合は、お使いの~/.ssh/configに以下を入れてみてください。

IdentitiesOnly yes 
KeepAlive yes 
ServerAliveInterval 60 
Host ALAIS_FOR_YOUR_HOST 
    User ubuntu 
    HostName HOST_IP 
    IdentityFile FULL_PATH_TO_KEY_FILE 
+0

ありがとうございますが、それでも動作しません。 〜/ .ssh/configファイルに上記を追加しても、同じエラーメッセージが表示されます。その他の提案はありますか? – codingJoe

+0

@codingJoe 'chmod 600 YOUR_PEM_KEYFILE'を先に使ってみましたか?そして、もしあなたとあなたのAMIがAmazon AMIでないなら、あなたの '〜/ .ssh.config'ファイルに上記を加えた後、' ssh ALAIS_FOR_YOUR_HOST'を使って接続してください。 –

2

あなたが使用している鍵ペアが失われた/間違っている必要がありますし、私が持っていたとして、あなたが秘密鍵のペアを回復することができる方法はありません一度.pemファイルを失ってしまい、インスタンスを再作成しなければなりません。 セキュリティ上の理由から、そのようなパスワードやAmazonは秘密鍵を保存しません。

修正する。

aws管理コンソール に移動します。1.インスタンスを停止し、同じインスタンスのAMIイメージを作成します。 2.作成されたAMIイメージと新しい鍵ペアが添付された新しいインスタンスを起動します。 3.以前に以前のインスタンスに割り当てられていた弾性IPを割り当てます。 4.すべて正常に機能する場合は、古いインスタンスを削除します。

したがって、XXXX.pemファイルをオンラインのどこかに保存します。

0

キーデバッグログはこれです:

debug1: Roaming not allowed by server 

あなたは3G/4Gのホットスポットから接続していましたか? Amazon EC2はあなたのpemファイルを大胆に無視しています。

+0

私はホットスポットでec2にSSHできません - 理由は簡単ですか? – shanehoban

+1

多すぎる可能性があります。それはエラーによって異なります。 VPC/iptablesなどが可能... – Mikhail

+0

Mikhailありがとうございます。それはIPの問題であることが判明 - 私の外部IPアドレスがSSHアクセスに必要なものと違っていたと私は言っていました。 Amazonはまた、それが別のものだとも思っていました - 非常に奇妙なこと...私が正しいものを見つけたら、それはうまくいきました! – shanehoban

関連する問題