私は、NISを介してユーザーを認証するネットワーク環境を管理しています。 1台のマシンを除くすべてのマシンをSSH経由でサーバーに接続するために使用できます。問題のコンピュータからメッセージが表示されます。
ssh: connect to host servername port 22: Connection refused
strace
問題のあるコンピュータの出力を、サーバーに正しくSSHで接続できるコンピュータと比較しました。
サーバーにSSHで接続できないコンピューターはネゴシエートしません/etc/hosts
が、SSHを介して正しく接続できるコンピューターはネゴシエートすることがわかりました。どちらのシステムも/etc/hosts
サーバー名とIPに設定されています。最後に、問い合わせていないマシンは/etc/hosts
最終的127.0.0.1
に(localhost)に接続しようとし、上記のメッセージで失敗します。原因は何ですか?
追加情報:
- SSH経由でアクセスしようとしているサーバーもネームサーバーとして機能し、両方のコンピューターがSSH経由でアクセスしようとしたときにそのサーバーを参照します。
- これにより、サーバーにSSH接続できないコンピューターが他のコンピューターに正しくSSH接続できます。
ssh machinename
ログには、strace
コンピュータがネームサーバーを参照し(今回は正常に)、リモートコンピュータ名を正常に確認して接続したと表示されます。
編集:この問題を解決するのに役立つと思われる追加情報を提供します。
答え1
私が見ると、問題のホストが正しく設定されていないようですnsswitch.conf
。
このhosts
行は/etc/nsswitch.conf
次のようになります。
hosts: files nisplus nis dns
ただし、具体的な内容は環境によって異なります。ジョブホストと比較し、それに応じて変更する必要があります。