sshで"error: buffer_get_ret: trying to get more bytes 4 than in buffer 0"の対処法

PuttyGenで鍵ペアを作成して公開鍵をサーバに保存した後、puttyでSSHログインしようとしたらログインできませんでした。
サーバのログファイル(Ubuntuなので/var/log/auth.log)には下記のようなエラーが。
Mar 17 09:09:56 colinux sshd[17193]: error: buffer_get_ret: trying to get more bytes 4 than in buffer 0
Mar 17 09:09:56 colinux sshd[17193]: fatal: buffer_get_int: buffer error

原因

公開鍵を~/.ssh/authorized_keysにコピペしたときに改行コードが入ってしまったのが原因でした。

PuttyGenの公開鍵をそのままコッピペすると下記のようになるのですが、"ssh-rsa"の直後に改行コードが入ってるとダメみたいです。
ssh-rsa
AAAAB3NzaC1y....D1h7zNE= rsa-key-20130317

.ssh/authorized_keysには、改行なしで1行で公開鍵を記述する必要があります。
ssh-rsa AAAAB3NzaC1y....D1h7zNE= rsa-key-20130317
こうしたらうまく行きました。
カテゴリ: