Naba Blog

Programming, Compose, Travel

LinuxからSSHしようとしたら UNPROTECTED PRIVATE KEY FILE! と言われた

<現象> * 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

行けたンゴ。