君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

公開鍵認証によるssh接続ができない。パスワード認証になってしまう(/var/log/secureにてsshd[3437]: error: key_from_blob: can't read rsa key が表示された時の対処法)

ssh接続が出来ずパスワード認証になってしまう

こういうとき見るべきところは、だいだい以下の項目。

接続元
接続先
  • authorized_keysのパーミッションは600か
  • sshdの設定が「RSAAuthentication yes」「PubkeyAuthentication yes」かどうか

などがある、、が、

全部出来ているはずなのに、

なぜかパスワード認証時のパスワードが聞かれてしまう。

/var/log/secureの確認

サーバ側の

/var/log/secure

を見てみると、

error: buffer_get_ret: trying to get more bytes 257 than in buffer 254

なんだこれ?って感じのエラーが吐かれていた。

error: buffer_get_ret: trying to get more bytes 257 than in buffer 254 
error: buffer_get_string_ret: buffer_get failed 
error: buffer_get_bignum2_ret: invalid bignum 
error: key_from_blob: can't read rsa key 
error: key_read: key_from_blob 公開鍵の文字列 vagrant@vagrant\n failed

あ、、、なんか最後に怪しいやつがいる。

原因

公開鍵の最後に改行コード\nがついていたことが原因でエラーが起きたっぽい。

解決

公開鍵から改行コードを取り除いたところ、正常に動いた。

putty上で公開鍵をコピーして貼り付けたときに起こる。。ようです。

参考

dqn.sakusakutto.jp