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サーバと繋がっていなかったのかは分からないけれど、再起動したら読み込めるようになった。
感想
対処はできたけれど、原因が分かっていないのがよろしくない。 今日の自分は疲れたので、頑張れ未来の自分。