Macのターミナル(ssh [email protected]
)を介して、OVH(unbuntu 16)のクラウドサーバーにserverpilotを手動で接続しようとしています。
操作が一度失敗し、再セットアップしようとすると、「警告:リモートホストIDが変更されました!」というエラーメッセージが表示されます。
ブログでssh-keygen -R hostname
と入力すると問題が解決する可能性があると読んだのですが、これを行うと"Host hostname not found in /Users/GregMac/.ssh/known_hosts"
というメッセージが表示されます。
これを解決する方法はありますか? (私はサーバー構成とコマンドラインのまったくの初心者です...それが私がserverpilotを頼りにしていた理由です)
ありがとう
そのホストで実行されているSSHサーバーに最後に到達しようとしたときに変更されたファイルがあります。そのファイルは
/Users/whateveryourusernameis/.ssh/known_hosts
そのファイルのどこかに、[vpsXXX.ovh.net]
のような括弧で囲まれて到達しようとしたホストから始まる1行のみのエントリがあります。
到達しようとしているサーバーが変更して自分でセットアップしたサーバーであることが確実である場合は、その行を削除して再試行しても安全です。
SSHは、システム管理者にとって最も基本的なツールであり、どのように機能するかは注目に値します。
Sshサーバーに接続するとき、サーバーが実行する最初の手順の1つは、sshクライアントに独自の公開ホストキーを提示することです。このキーは通常、クライアントの~/.ssh/known_hosts
ファイルに追加されるため、異なるsshセッション間でこのキーが変更されると、クライアントは、ホストが以前に接続した元のホストではなくなったことを警告されます。これは、ホストが実際に変更されたことを疑いなくすでに知っている場合を除いて、到達したホストが詐欺師である可能性があるという事実を警告します。
ホストキーは SSHネゴシエーションプロセス のコア部分であり、システムを管理している場合はこれをよく理解しておく必要があります。このキーは通常、SSHサーバーが最初に起動されたときに1回だけ生成されます。したがって、ホストキーが変更されたという警告が表示された場合は、次のいずれかのイベントが発生しています。
クラウド環境で作業している場合、新しいマシンイメージとインスタンスは常に交換され、古いものと置き換えられます。したがって、警告を削除し、新しいホストへのSSHを継続する方法は、~/.ssh/known_hosts
ファイルから古いフィンガープリントを含む問題のある行を削除することです。良い習慣として、交換が行われたことがわかったらすぐにこれを削除し、一度ログインして新しいホストキーを確認して保存することをお勧めします。
最後に、仲間の管理者を尊重し、それが起こったことを知らせて、火災警報器を自分で引く必要性を感じないようにします。
あなたが行ったのと同様のページ を見つけました。新しい動作についてのメモがあり、公開ホストキーのIDがハッシュ値に変更される可能性があります。 [vpsXXX.ovh.net]
ではなく、[BF8JDF9SS@67IX]
のように見える場合があります。この場合、編集しすぎていない場合は、known_hostsファイルを移動し、ssh経由で接続すると、1行で新しいファイルが作成されます。 その行には、接続したドメインまたはIPの正しいハッシュ値が含まれるため、新しく作成したファイルから、古いホストキーを新しいものに置き換えます。編集したknown_hostsファイルを元の場所に戻し、voilá—その接続用に保存されている公開ホストキーを更新しました。