鍵認証で入れていたSSHが、ある日は入れなくなったとき

鍵認証で入っていたVPSに入れなくなって、さんざん悩んで解決したのでメモ。

どういうこと?

VPSを借りて、ログインには鍵認証を使ってパスワード入力なしで入っていました。 2~3日ぶりにサーバーにログインしようとしたら、パスワード入力のモーダルが出てきました。 変だなと思ったけど、しょうがないからパスワードを入れても、再度ターミナルからパスワード入力をしないと入れない。ってなことがあった。(伝わるかな?)

やったこと

ssh-agentの確認

ssh-agentに情報を登録しなおしたら入れるよ」というのをどっかで見たので、やってみた。

$ ssh-add -K {鍵の場所}

$ ssh-add -l 
2048 {鍵情報} (RSA) <= 登録されてる

$ ssh {ユーザー}@{URL}
 {ユーザー}@{URL}'s password: <= だめ・・・

入れない・・・

パーミッション変更

パーミッションが正しくないと入れないよ」と言われたので、やってみた。

# ローカル
$ cd .ssh

$ ls -l
-rw-------  1 {ユーザー}  staff   1.7K  8 26 18:35 id_rsa
-rw-------  1 {ユーザー}   staff   415B  8 26 18:35 id_rsa.pub

うーん、大丈夫っぽい。

# サーバー
$ cd .ssh

$ ls -l
-rw-------. 1 {ユーザー} {ユーザー} 383  9月  5 11:04 authorized_keys

うーん、大丈夫そう・・・。

結局

サーバーの鍵を削除して、ローカルの鍵を登録しなおしました。

# サーバー
$ cd .ssh

$ vi authorized_keys
該当する記述を削除

これでサーバはOK

# ローカル
$ cd .ssh

$ ssh-copy-id -i id_rsa.pub {ユーザー}@{URL}
/usr/local/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
{ユーザー}@{URL}'s password:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh '{ユーザー}@{URL}'"
and check to make sure that only the key(s) you wanted were added.

# 入ってみる
$ ssh {ユーザー}@{URL}
[{ユーザー}@{URL} ~]$ <= 入れた!!!

こんなに簡単に入れるなら最初からこうしておけばよかった。。。

残念な時間の使い方をしました。。。