ssh で "Permission denied (publickey)."
ひさしぶりに Debian etch のクライアントを触って、サーバ(こちらも etch)にsshで繋ごうとすると、エラーになった。
$ ssh 192.168.0.1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is c3:9f:be:5a:ff:b1:e0:89:19:2a:15:f3:ae:b3:9c:e4. Please contact your system administrator. Add correct host key in /home/maluboh/.ssh/known_hosts to get rid of this message. Offending key in /home/maluboh/.ssh/known_hosts:1 RSA host key for 192.168.0.1 has changed and you have requested strict checking. Host key verification failed.
これは、今年の5月に発覚したDebianのOpenSSLパッケージの脆弱性にたいする対応をサーバ側のマシンへ行ったために出ている。
Debian JP Project - OpenSSL パッケージの脆弱性とその影響について (SSH鍵、SSL証明書等)
上記のページの手順で、パッケージを更新した後、クライアント側のknown_hostsの値を一旦削除してやり、再度接続すればOK。
$ ssh 192.168.0.1 Permission denied (publickey).
と思いきや、エラーになった。ググってみると、ssh のプロトコルがよくないとかいろいろ情報が出てくるが、今回エラーになったのもOpenSSLパッケージの更新によるもの。
クライアント側の公開鍵をssh-keygenで再生成し、サーバ側に登録すれば無事に繋ぐことができた。