%20%E3%81%B8%E3%81%AE%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E6%A8%A9%E3%81%AA%E3%81%97%E3%81%A7%20SSH%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E3%80%81%E6%97%A2%E7%9F%A5%E3%81%AE%E3%83%9B%E3%82%B9%E3%83%88%E3%82%92%E5%89%8A%E9%99%A4%2F%E7%84%A1%E8%A6%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
私は非 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
。