web-dev-qa-db-ja.com

LinuxでのAmazon EC2へのSSH接続

次のコマンドを使用して、シェルからAmazon ec2インスタンスにsshしようとしています

ssh -vi sec.ppk [email protected]

接続できませんでした

上記のコマンドによって生成されたデバッグ出力は次のとおりです

OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to ec2-xx.compute-1.amazonaws.com port 22.
debug1: Connection established.
debug1: identity file security1.ppk type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu5
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
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: Host 'ec2-xx.compute-1.amazonaws.com' is known and matches the RSA Host key.
debug1: Found key in /home/ma/.ssh/known_hosts:9
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
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: sec.ppk
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key 'sec.ppk': 

Sec.ppkにパスフレーズを要求する理由

問題は何ですか?誰か助けてもらえますか?

上記の同じ資格情報でFileZillaを使用して正常に接続したことを言及するのを忘れました

24
MA1

で試す

ssh -i /directory/keyname.pem [email protected]

.pemは、インスタンスのセットアップ中に作成したキーペアファイルです。

44
Hasanavi

AWSを初めて使用するユーザー向け。 .ppk拡張子はopenSSHと互換性がないため、FileZilla/PutTTYでのみ機能します。

この場合の最も簡単な方法は、PutTTYをインストールし、PuTTYツールを使用して.ppk.pemに変換することです。ここにコマンドがあります

Sudo apt-get install PuTTY
puttygen <path_to_key>/keyname.ppk -O private-openssh -o aws_key.pem
ssh -vi aws_key.pem ubuntu@<ip_address>

これが迅速な解決策として役立つことを願っています。

パスフレーズを使って秘密鍵を作成したようですね。どのようにキーペアを作成しましたか?秘密鍵を作成するときにパスフレーズを入力しましたか?

キーの作成時に指定したパスフレーズを入力する必要があります。そして

debug1: read PEM private key done: type <unknown>

これは、あなたの鍵が認識されなかったことを示唆しています。理想的には、RSAのようなメソッド名を取得します。

さらにid_rsa.pubのような公開鍵があるかどうかを確認し、ある場合はそれを使用してみてください。パスフレーズを覚えていない場合に備えて使用します。

編集:

さて、あなたはAmazonのppkを使っていると思います。 EC2-priv.ppkキーを使用するには、OpenSSHが理解できる形式に変換する必要があります。これはPutTTYgenプログラムで実行できます。これにより.pubファイルが作成され、それを使用して接続できます。

2
Ravi Bhatt