web-dev-qa-db-ja.com

sshをインスタンスに試行したときにAWS EC2接続が閉じました

最近、新しいEC2インスタンスを設定しました。翌日、ssh経由でインスタンスに接続できませんでした。前日に接続と切断ができたが、何もしなかったと誓う。ここにSSHデバッグ情報があります:

ssh -i webserver.pem -v [email protected]
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to my.elastic.ip [my.elastic.ip] port 22.
debug1: Connection established.
debug1: identity file webserver.pem type -1
debug1: identity file webserver.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
Connection closed by my.elastic.ip

この問題を解決する方法はありますか?または、インスタンスを再インストールしますか?この問題をできるだけ早く解決する必要があるので、助けてください。あなたの助けが高く評価されています!

私の.pemに対するPS権限は600に設定されています。

44
Victor Davydov

セキュリティグループを確認してください。トラフィックがインスタンスから戻ることを許可する送信ルールがあることを確認してください。

デフォルトの送信ルールを使用する

type: All traffic, Protocol: All, Ports: All, Destination: 0.0.0.0/0

それが動作します。

10
Sven Dukat

私の問題は、ユーザー名が間違っていることでした。 ubuntuインスタンスでは「ubuntu」、Amazonインスタンスでは「ec2-user」にする必要があります。

275
Tyler

多くの場合、インスタンスの起動に使用したAMIのデフォルトのユーザー名を使用する必要があります。

  • Amazon Linux 2またはAmazon Linux AMIの場合、ユーザー名は
    ec2-user。
  • CentOS AMIの場合、ユーザー名はcentosです。
  • Debian AMIの場合、ユーザー名はadminまたはrootです。
  • Fedora AMIの場合、ユーザー名はec2-userまたはFedoraです。
  • RHEL AMIの場合、ユーザー名はec2-userまたはrootです。
  • SUSE AMIの場合、ユーザー名はec2-userまたはrootです。
  • Ubuntu AMIの場合、ユーザー名はubuntuです。

    それ以外の場合、ec2-userおよびrootが機能しない場合は、AMIプロバイダーに確認してください。

https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/connection-prereqs.html#connection-prereqs-get-info-about-instance

18
KingNonso

(1)sshコマンドを実行するときに、pemキーを置いたのと同じフォルダにいるかどうかを確認してください。それ以外の場合は、「ssh -i/your_key_path /mykey.pem」を使用する必要があります。

(2)それでも効果がない場合。別のキーを作成し、AWSウェブページからEC2インスタンスを設定できると思います。その後、再試行してください。

2
Freya Ren

この問題が発生したため、PEMファイルが正しくないことがわかりました。 Amazon EC2キーペア-キーペアの指紋の確認 の指示に従って確認できます。

AWSを使用してキーペアを作成した場合、OpenSSLツールを使用して、秘密キーファイルからフィンガープリントを生成できます。

$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

サードパーティツールを使用してキーペアを作成し、公開キーをAWSにアップロードした場合、OpenSSLツールを使用して、ローカルマシンの秘密キーファイルからフィンガープリントを生成できます。

$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

出力は、コンソールに表示される指紋と一致する必要があります。

0
parsley72

私は同じ問題を抱えていました、それはあなたがpem秘密鍵ファイルに与える許可の問題です。 Sudo(管理)アクセスを使用して、ターミナルでsshコマンドを実行していることを確認してください。

0