2 つの AMI ec2 インスタンス間で SSH 接続を確立できません。

2 つの AMI ec2 インスタンス間で SSH 接続を確立できません。

2つのEC2インスタンス間でSSH接続を確立してみてください。ホストAid_rsa.pubキーをホストBのauthorized_keysファイルにコピーします。

[root@ip-172-31-9-173 .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTTRSTwBClsq7/punxLQvq00Ba7iMZRbQKAQhC+GVuQFB2LfWk9Hsetu4CqHoGo4R4BJ/SW/4v+AfKlmQ/kA8WrQ12R0dR9cuhEbbnltMXSauwrsndIf4egJVzJs3BM12jXEx+E6wSlK8nUu3xpmY12WUkJOAWfWJ6rnE4XArIcmtNzfpJyZgFhNv2fKYRBTCgU0l4HLo2uIiQj8/aLT2gQeRUdARNn3QLBrITMN6rojo1vmWYnXhjWxeUoYVDj5+bsrqfbAtyzPm43WS+2RZ0T1Rr50+REl+jin0y108v04me7BluidN013oj+gLI73A86/qBgo08l5RwG2p+oOzf root@ip-172-31-9-173


[root@ip-172-31-11-205 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTTRSTwBClsq7/punxLQvq00Ba7iMZRbQKAQhC+GVuQFB2LfWk9Hsetu4CqHoGo4R4BJ/SW/4v+AfKlmQ/kA8WrQ12R0dR9cuhEbbnltMXSauwrsndIf4egJVzJs3BM12jXEx+E6wSlK8nUu3xpmY12WUkJOAWfWJ6rnE4XArIcmtNzfpJyZgFhNv2fKYRBTCgU0l4HLo2uIiQj8/aLT2gQeRUdARNn3QLBrITMN6rojo1vmWYnXhjWxeUoYVDj5+bsrqfbAtyzPm43WS+2RZ0T1Rr50+REl+jin0y108v04me7BluidN013oj+gLI73A86/qBgo08l5RwG2p+oOzf root@ip-172-31-9-173

間違い:

[root@ip-172-31-9-173 ~]# ssh [email protected]
Permission denied (publickey).

ここに何が欠けているのかよくわかりません。

答え1

2 台目のコンピュータへの接続を開始したコンピュータに秘密鍵 id_rsa がありません。

rootとして実行している場合は、/root/.ssh/id_rsaに配置します。また、SSHは権限について厳しいことを忘れないでください。したがって、次のことを行う必要があります。

chmod 700 /root/.ssh
chmod 600 /root/.ssh/id_rsa

長期的には、rootではなく一般ユーザーで作業することを検討してください。

答え2

@l0ckm4でコメント

usernameとを提供して実際にSSHを実行できますかpassword?そうでない場合は、ファイルにアクセスできる場合はエントリが存在し、AllowUsers ファイル/etc/ssh/sshd_configの上部にあるサブネットへのSSHアクセスが許可されていることを確認してください。変更した場合は sshd_config再起動する必要がありますSSH service


  1. sshd_config以下があることを確認してください。

AllowUsers

DenyGroups

DenyUsers

設定とリモコンへのアクセスが許可されているかどうかを確認してください。


  1. known_hosts時には、ディレクトリからこのファイルをリセットすることも役立ちます$HOME/.ssh

cat /dev/null > $HOME/.ssh/known_hosts

  1. denyhostsインストールされていること、IPファイルからアドレスがブロックされていることを確認してくださいhosts

無効な資格情報でSSHを介してログインを複数回試してIPアドレスをブラックリストに追加した場合は、コンソールを使用してサービスに接続し(コンソール/ VNCを使用してVPSに接続)、次のコマンドを使用できます。ブロック除去:

  • denyhostsサービスの停止(systemctl stop denyhostsまたは/etc/init.d/denyhosts stop
  • /etc/hosts.denyからIPを含む行を削除します。
  • ファイルからIPを含む行を削除します/var/lib/denyhosts/hosts*(注:すべてのファイルにIPが含まれるわけではありません)。
  • IPで行を削除する/var/lib/denyhosts/user-hosts
  • IPTABLES'テーブルから行を削除する
  • denyhostsサービス開始

  1. 正しく行ったことを確認してくださいport

これが問題にならない場合は、キーを生成してリモコンにコピーする手順は次のとおりです。

ローカルシステムでキーを作成します。

ssh-keygen -o -b 4096 -t rsa -C [email protected]

または:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/vps-cloud.web-server.key -C "My web-server key"

秘密鍵のパスワードを入力するように求められます。メッセージが表示されたら、パスワードを設定することをお勧めします。


  • -t rsa:生成するキーの種類を指定します。プロトコルバージョン1の場合、可能な値は「rsa1」であり、プロトコルバージョン2の場合、可能な値は「dsa」、「ecdsa」、「ed25519」、または「rsa」です。
  • -b 4096: 生成するキーの桁数を指定します。
  • -f ~/.ssh/vps-cloud.web-server.key: キーファイルのファイル名を指定します。
  • -氏」[Eメール保護]":新しいコメントを設定します。

ルートアカウントからサーバーにアクセスするには、su上記のコマンドを実行して繰り返します。

  1. $HOME/.ssh/id_rsa- 秘密鍵が含まれています。
  2. $HOME/.ssh/id_rsa.pub- 公開鍵が含まれています。

キーをリモコンにコピーします。

ssh-copy-id [email protected]

または:

sh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]

または:

まず、.sshリモートサーバーにディレクトリを作成します。

ssh [email protected] "umask 077; test -d .ssh || mkdir .ssh"

cat地域の身分証明書。rsa.pubSSHファイルとパイプを介して公開鍵をリモートサーバーに接続する

cat $HOME/.ssh/id_rsa.pub | ssh [email protected] "cat >> .ssh/authorized_keys"

または:

cat ~/.ssh/id_rsa.pub | ssh -p 22000 [email protected] "cat >> ~/.ssh/authorized_keys"

keyセッションごとに一度だけパスワードを入力するには、以下を.bashrcファイルに追加します。

eval `ssh-agent`
ssh-add

これにより、ターミナル/シェルの起動時にパスワードを再入力するのではなく、パスワードの入力を求められます。

関連情報