EC2 ubuntuインスタンスにアクセスするAWS codebuildセットアップがあり、両方が同じVPCとプライベートサブネットにあります。 SSHを使用してコードビルドからインスタンスにコマンドを実行したいが、リモートインスタンスでコマンドを実行しようとしているときにエラーが発生する:
$ ssh -o 'PubkeyAuthentication no' [email protected] uname
Host key verification failed.
また、.pemファイルを作成して、公開鍵を新しいpemファイルに貼り付け、許可を変更して使用しました。しかし、成功しませんでした。
$ssh -i "remote-instance.pem" [email protected] uname
Host key verification failed.
いくつかのオプションで同じことを達成することは可能ですか?
初めて知っているように、リモートホストにssh
すると、リモートホストキーを~/.ssh/known_hosts
に保存するかどうかを尋ねられます。その後、リモートホストにアクセスするたびに、ssh
は受信したホストキーを~/.ssh/known_hosts
に対して検証します。
ただし、ssh
がCodeBuildまたはその他の非インタラクティブなセットアップで実行されている場合、リモートキーを受け入れるかどうかを確認できません(誰も非対話型セッションで要求することはありません)、安全な側にいるために失敗しますホストキーの検証に失敗しました
それを修正する方法は2つあります。
より安全ですは、UbuntuサーバーのホストキーをCodeBuildに提供し、known_hosts
ファイルに保存して、ssh
確認してください。正しい所有権と権限で正しいパスにあることを確認してください。
安全性が低いは、チェックを無効にします。
ssh -o StrictHostKeyChecking=no {your-ubuntu-server}
それが役に立てば幸い:)
デフォルトで試行されるPubkeyAuthenticationが必要なため、「-o PubkeyAuthentication = no」を指定しないでください。 「-i」で参照されるpemファイルは、公開鍵ではなく秘密鍵でなければなりません。公開鍵は、ubuntuサーバーにすでに配置されています。