現象
Windowsから移行した秘密鍵id_rsaを使ってLinuxでSSHをしようとすると、以下のエラーメッセージが表示される。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
Permission denied (publickey).
環境
- 接続元 : Ubuntu 14.04 LTS 64bit
- 接続先 : Ubuntu 12.04.4 LTS 64bit
- 鍵作成 : TeraTerm(Windows)
参考
- SSH: WARNING: UNPROTECTED PRIVATE KEY FILE! Error and Solution : http://www.cyberciti.biz/faq/warning-unprotected-private-key-file-ssh-linux-unix-error/
原因
- Permissionがなんとかって言われているので、
id_rsa
のPermissionを見てみると、
エラー文にも書かれているように、-rw-rw-r-- (664)
になっていた。
要は、
秘密鍵としてはガバガバじゃね?
他人からアクセスされちゃんじゃね?
って言ってるんだと思う。
解決策
参考ページを見ると、
change the permissions of ur key chmod 600 yourkey
と書いてあるので、ありがたく頂戴する。
sudo chown 600 username id_rsa
これでPermissionは-rw------- (600)
になったので所有者のみアクセス可。
そしてもう一度SSH接続。
ssh 192.168.hoge.fuga -i id_rsa -l username
行けたンゴ。