サーバを立てて公開鍵認証可能(OpenSSH)にしたものの、あるアカウントだけアクセスできずPermission Deniedとでるという状態になった。.sshディレクトリ・authorized_keysのパーミッション(それぞれ700と600)も正しく設定されているし、鍵の生成もOpenSSHで行われていた(Puttygenではないため1行表現)。秘密鍵と公開鍵のペアもまちがっていないのになぜ・・・という状態だった。
試しに、ログインできている他のアカウントの公開鍵で、ログインできないアカウントにリモートログインできるか試すとログインできず((゚Д゚)ハァ?)。信じられへん・・・。アカウント登録が間違っているかと思い、以下で登録情報を確認。
# cat /etc/passwd
すると,
UserHoge01:x:1001:1002::/GroupData/UserHoge01:/bin/bash
というようなアカウント情報が確認できる。上記の記述はそれぞれ以下を表す、
第1フィールド: ユーザ名(ログイン名) 第2フィールド: (暗号化パスワード) 第3フィールド: ユーザ番号(UID) 第4フィールド: グループ番号(GID) 第5フィールド: コメントフィールド(名前など) 第6フィールド: ホームディレクトリーのパス 第7フィールド: ログイン・シェル
んで、このうちホームディレクトリの設定が間違っていた。どうも設定した先生がタイポをやらかしたらしく、存在しないディレクトリにアクセスしようとしてPermission Deniedと表示された模様。えぇーーー・・・・(アニメ”日常風”)。
設定を修正するために、以下のコマンドを実行。
# usermod -d /正しいホームディレクトリのパス UserHoge01
無事リモートログインできるようになった。