ねえ、私はWindows 10でbashを使用して、Amazon WebServicesのUbuntuサーバーにSSHで接続するための迅速で簡単な方法を取得しようとしています。私が知る限り、すべてが適切に設定されていますが、sshに行くと
$ ssh -vvv -i key.rsa [email protected]
私は得る
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 123.456.789.123 [123.456.789.123] port 22.
debug1: connect to address 123.456.789.123 port 22: Resource temporarily unavailable
ssh: connect to Host 123.456.789.123 port 22: Resource temporarily unavailable
PuTTY経由での接続は問題ありません。何が得られますか?
編集:/ etc/ssh/ssh_configの最後にこの行を追加することで、さらに一歩進んだ:
ProxyCommand nc %h %p %r
しかし今、私は新しい問題を抱えています:
$ ssh -vvv -i id_rsa 123.456.789.123
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Executing proxy command: exec nc 123.456.789.123 22 User
debug1: permanently_drop_suid: 1000
debug3: Incorrect RSA1 identifier
debug3: Could not load "id_rsa" as a RSA1 public key
debug1: identity file id_rsa type 1
debug1: identity file id_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
nc: getaddrinfo: Servname not supported for ai_socktype
ssh_exchange_identification: Connection closed by remote Host
まったく同じキーを持つこのまったく同じコマンドは、私のサーバーで機能します(それ自体にSSH接続します)。
$ ssh-keygen -l -f id_rsa
同じ有効なキーであることを確認します。 PuTTYは引き続き機能するため、AWSポート設定ではありません。 WinBashから接続しようとすると、サーバーログにSSHエントリがありませんが、(もちろん)サーバーがSSHで接続するとエントリが表示されるので、クライアント側の設定に問題があると思いますが、どうでしょうか。
プロキシコマンドは次のようになります。
ProxyCommand nc %h %p
ncはsshユーザー名を必要とせず、省略してください。
ユーザー名(%r)を3番目のパラメーターとしてncに渡すと、ncはそれをシンボリックポート(サービス)識別子と見なし、ポート番号に変換しようとしますが、変換できません。これは、「Servnameはai_socktypeではサポートされていません」というエラーです(ここでのServnameは実際にはユーザー名です)。
[編集]うーん、そうは言っても、あなたのProxyCommandは役に立たないと思います。最初のエラーに戻ると、システムによって制限されているため、プログラム(sshまたはnc)がそのサーバー/ポートへのネットワーク接続を確立できなくなっていると思います。これはファイアウォールの問題ではなく、sshやCygwinのシステム制限である可能性があります。申し訳ありませんが、私はWindowsを知りません、そして私はそれ以上助けることができません。
私の知る限り、AWSで新しいインスタンスを作成するときは.ppkが必要です。自分で生成した.ppkファイルがある場合。
PuTTYセッションを開き、[接続]セクションに移動して、[SSH]セクションの下にある[認証]セクションを選択します。
最後に、.ppkを参照してロードし、セッションを開きます。上記のプロセスの前に、[セッション]タブでホスト名とポートを設定する必要があるという重要なポイントとして。