私は非 sudo ユーザーで、別のサーバーに ssh しようとしています。そうすると、known_hosts ファイルに従ってホストのホスト キーと IP アドレスが変更されたというエラーが表示されます (実際変更されています)。残念ながら、known_hosts ファイルを変更することはできず、オプションを使用すると-o StrictHostKeyChecking=no
パスワード認証が無効になります。
答え1
known_hosts
ファイルを変更できません
コピーして変更できる場合は、ssh
コピーを使用するように指示します。関連するオプションは次ssh_config
のとおりです。
GlobalKnownHostsFile
グローバル ホスト キー データベースに使用する 1 つ以上のファイルを空白で区切って指定します。デフォルトは/etc/ssh/ssh_known_hosts
,です/etc/ssh/ssh_known_hosts2
。
UserKnownHostsFile
ユーザー ホスト キー データベースに使用する 1 つ以上のファイルを空白で区切って指定します。デフォルトは~/.ssh/known_hosts
,です~/.ssh/known_hosts2
。
(ソース)
ちょっと待って!あなたが言った
この
-o StrictHostKeyChecking=no
オプションを使用すると、パスワード認証が無効になります。
パスワード認証を無効にするのはオプションではないと思います。新しいサーバーがそれを許可しないのです。つまり、この特定のサーバーに実際に接続できるアプローチは、パスワード認証では機能しません。古いknown_hosts
ファイルを回避したり修正したりしても問題ありません。サーバー自体はパスワードを許可しないように構成されています。
もしそれが右サーバーの場合は、サーバー管理者にパスワードを許可するよう依頼してください (または、他の認証方法を提供する場合もあります)。ローカル管理者にファイルの更新を依頼してくださいknown_hosts
。