なか日記

一度きりの人生、楽しく生きよう。

cygwinでgit cloneした際、「WARNING: UNPROTECTED PRIVATE KEY FILE!」となる場合の対処

Cygwin版のGitで、GitHub等へSSHの認証を行って接続する際、下記のように「WARNING: UNPROTECTED PRIVATE KEY FILE!」と叱られることがあります。

$ git clone git@github.com:nakaji/agile459.github.com.git
Cloning into 'agile459.github.com'...
Warning: Permanently added the RSA host key for IP address '192.30.252.130' to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/home/nakaji/.ssh/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: /home/nakaji/.ssh/id_rsa
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

鍵の情報(~./ssh)を見ると以下の様になっています。

nakaji@home-pc ~/.ssh
$ ls -l
合計 9
-rw-rw---- 1 nakaji なし 1766 123 01:52 id_rsa
-rw-rw-r-- 1 nakaji なし  397 123 01:52 id_rsa.pub
-rw-rw-r-- 1 nakaji なし  803 123 01:53 known_hosts

警告の原因は秘密鍵パーミッションと、ファイルのグループが設定されていない*1為です。

なので以下の様にパーミッションを厳しく設定し、ファイルのグループを設定してあげます。

nakaji@home-pc ~/.ssh
$ chmod 400 id_rsa

nakaji@home-pc ~/.ssh
$ chgrp Users *

nakaji@home-pc ~/.ssh
$ ls -l
合計 9
-r--r----- 1 nakaji Users 1766 123 01:52 id_rsa
-rw-rw-r-- 1 nakaji Users  397 123 01:52 id_rsa.pub
-rw-rw-r-- 1 nakaji Users  803 123 01:53 known_hosts

これで正常にcloneできるようになります。

nakaji@home-pc ~/.ssh
$ git clone git@github.com:nakaji/agile459.github.com.git
Cloning into 'agile459.github.com'...
Enter passphrase for key '/home/nakaji/.ssh/id_rsa':
remote: Counting objects: 109, done.
remote: Compressing objects: 100% (82/82), done.
remote: Total 109 (delta 16), reused 106 (delta 16)
Receiving objects: 100% (109/109), 1.98 MiB | 590 KiB/s, done.
Resolving deltas: 100% (16/16), done.

おしまい。

*1:「なし」になっている