SSHが/ etc / hostsを参照しないのはなぜですか?


13

ユーザーがNISを介して認証するネットワーク環境を管理しています。1つを除き、すべてのマシンを使用してサーバーにSSH接続できます。問題のマシンで、メッセージが表示されます

ssh: connect to host servername port 22: Connection refused

strace問題のマシンとサーバーに正しくSSH接続できるマシンからの出力を比較しました。
サーバーにSSHで接続できない/etc/hostsマシンは、正しくSSHで接続できるマシンはコンサルトしているのに対して、コンサルトしていません。両方のマシンが/etc/hostsサーバーの名前とIPでセットアップされています。最終的に、問い合わせないマシンは(localhost)/etc/hostsへの接続を 127.0.0.1試行し、上記のメッセージで失敗します。これは何が原因ですか?

追加情報:

  • 私がSSHしようとしているサーバーはネームサーバーとしても機能し、両方のマシンはSSHしようとしている間にそれを調べます。
  • サーバーにSSHで接続できないマシンは、他のマシンに正しくSSHで接続できます
    ssh machinename
    straceログは、マシンがネームサーバーを調べ(今回は正常に)、リモートマシン名を正しく解決して接続することを管理していることを示しています。

編集:この問題の解決に役立つと思われる追加情報を喜んで提供します。


1
-vvvをsshコマンドに追加すると何が得られますか?
カオスのデーモン

回答:


18

問題のホストが正しく設定されていないように思えますnsswitch.conf

hosts行は/etc/nsswitch.conf次のようになります。

hosts:  files nisplus nis dns

ただし、正確な内容は環境によって異なります。稼働中のホストと比較し、それに応じて変更を加える必要があります。


1
お金に!稼働中のホストと比較し、必要な変更を加えました。どうもありがとう!担当者がいれば投票します:)
ジョセフR.

@JosephR。今すぐ担当者がいます!:-)
RockPaperLizard
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.