0

最近、Amazon Web Services を通じて最初の EC2 インスタンスを作成し、ユーザーの mac ホーム フォルダーの .ssh フォルダーにある SSH 証明書をアップロードしました。ターミナルから Elastic IP を使用してインスタンスに接続しようとしましたが、SSH 呼び出しの前に sudo を追加すると機能します。sudo を省略すると、エラー メッセージが表示されます

Add correct host key in /Users/ola/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/ola/.ssh/known_hosts:13 
RSA host key for 54.247.165.223 has changed and you have requested strict checking.
Host key verification failed.

SFTP 接続を使用してサーバーにログインしようとすると、同じ問題が発生します。

私の質問は、私が使用するキーペアがユーザーの .ssh ディレクトリからアップロードされたものである場合に機能しない理由 (および他のサービスにも同じものを使用する場合) と、sudo を追加すると機能する理由です。

もう 1 つの質問は、プライベート キーとパブリック キーの両方をユーザー ルートの下の .ssh に格納することと、それを known_host フォルダーに保存することの違いは何かということです。Mac、Linux、およびその他のシステムの unix とは異なる規則はありますか、それともすべてのプラットフォームでこの標準はありますか。

(私は AMI として Ubuntu サーバーを実行しています)

4

1 に答える 1

1

あなたのknown_hostsファイルには、以前の時点からのそのIPの古いエントリまたは競合するエントリがあるようです. そのファイルを編集して 13 行目 (その IP に一致) を削除して保存すると、再度接続したときに最初と同じように動作し、known_hosts に適切に追加されます。

そのファイルは、以前の接続からの公開鍵が保存されている場所であり、鍵をすぐに使用するだけで将来の接続を高速化します.

于 2012-08-26T22:07:51.310 に答える