鍵認証でssh接続したい場合にpermission denied (publickey)出てはまった話
ssh接続するのに、鍵認証で入る、っていうのをやって、割とはまっておりました…
すでに1ユーザー(userA)では鍵認証で入ることはできていて、もう1つユーザー(userB)を作って鍵認証接続しようとするとエラーになる、という事案でした。
参考はこちら。
・http://www.tooyama.org/ssh-key.html
・http://www.capistranorb.com/documentation/getting-started/authentication-and-authorisation/
サーバー側でユーザーを作る。
$ adduser userB
ローカルで鍵を作る。
$ ssh-keygen -f userB_rsa -t rsa
$ ssh-add -l でssh-addに入ってる鍵を確認することができる。
$ ssh-add でssh-addに登録。この辺は特にしなくても大丈夫。
userB_rsa.pubをサーバー側(/home/userB/.ssh)に送る。
以下のアクションをuserBのユーザーでサーバーに入って行う方が良いっぽい。(userAで入ってやって詰まった感あります)
$ mkdir .ssh $ cat userB_rsa.pub >> authorized_keys $ chmod 700 .ssh $ chmod 600 authorized_keys
これで鍵認証は基本的にできるはず。
これやってなぜかはまったのは、パスワードでは入れるけど、鍵で入ろうとすると、
permission denied (publickey)となってエラーになるという件。
修正を加えたところ(原因だったぽいところ)。
・.sshとauthorized_keysの所有者ユーザーと所有グループをuserBにした。
($ chown userB:UesrB .sshと $ chown userB:userB authorized_keysを行う)
・上のように、.sshとauthorized_keysの権限をそれぞれ700,600にした。
(ここも入るの必要な条件みたい)
振り返ると何でもないけど、中々時間が溶けました。
アーメン。