rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

ssh接続出来ないと連絡を受けて、NISの設定が読めていないのが原因だと分かるまで

症状

$ ssh username@server
username@server's password: xxxxxxxxxx
Permission denied, please try again.
username@server's password: 

合っているパスワードを入力しているはずなのに、怒られる。

調査

他のユーザが入れるか確認

連絡を受けて、まず確認したのが自分は接続できるのか?ということ。 できなかった。

rootで入れるか確認

うちの研究室のサーバは(あまり褒められたことではないらしいけど)rootユーザでssh接続できる。

入れた。

ということは、何らかの設定の問題。

cat /var/log/secure

を確認し、sshのログを確認。確かに、なにかエラーが出ている。

登録したユーザ名とログインを試みたユーザ名が違ってないか確認

こちら

サーバにログインできない!ときのよくある原因と解決方法 7パターン - mochikoAsTechのdig日記

のページを見ると、「 よくある原因 3. 該当するユーザがいない or ユーザ名が間違っている」のエラーに近かったので、 id usernameしてみた。

$id username
id: username: No such user

登録されていなかった。 しかし、登録した名前が間違っているのかと次のファイルを見たところで、驚きの事実が。

$cat /etc/passwd

...あれ?研究室メンバのユーザ名が一つもないのだけれど!?

で、びっくりして、ssh接続できる他のサーバに行き、同じことをしてみると

$cat /etc/passwd

こっちにもないんだけど!?

ただ、接続できるサーバでid usernameすると、uidやらgidやらを見ることが出来た。

NISサーバのことを初めて知った

その時ふっと、卒業したサバ缶の先輩が「NISの設定が」云々言っていたのを思い出す。

慌てて勉強して、所属当初にやった「NISの設定」の意味を知った。サバ缶が自分のところのシステムを知らないという、恐ろしすぎる研究室である。 まぁ、じゃんけんで負けて着任した仕込みも受けていない未経験奴なんて、そんなもんだろう。多分。

問題のサーバも、NISクライアントであることを確認

$cat /etc/yp.conf

して、ファイルの最後にdomain NISドメイン名 server IPアドレスが書いてあるのを発見。 NISサーバのIPアドレスと同じであることを確認。

NISサーバを見に行けているのか確認

$ ypwhich

エラー

NISクライアント側の設定ファイル等を確認

$cat /etc/nsswitch.conf

ネットで調べて出てくる、一般的なNISクライアントの設定はされているように見える。

問題のサーバ再起動

NISクライアントの再起動、で検索したのだけれど、よく分からなかったのでサーバごと再起動。

解決!

何故NISサーバと繋がっていなかったのかは分からないけれど、再起動したら読み込めるようになった。

感想

対処はできたけれど、原因が分かっていないのがよろしくない。 今日の自分は疲れたので、頑張れ未来の自分。