MsysGit 付属の GIT BASH で、過去記事の通りパスフレーズの設定を行ない ssh $host したら、次のやうなエラーが出て困った (ワーニングは下記の参照元をコピペした)。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0640 for '/Users/xxx/.ssh/id_rsa' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: /Users/xxx/.ssh/id_rsa Permission denied (publickey,gssapi-with-mic).
.ssh/id_rsa ファイルのパーミッションが 600 になっていない。危険なので ssh 接続は行なわなかったよ。という警告。
GIT GUI 付属の chmod でパーミッションを変更しやうにも、パーミッション値が変わらない。
git-bash$ cd .ssh git-bash$ ls -l id_rsa -rw-r--r-- 1 masayuki ataka 2 2009-09-16 06:20 .ssh/id_rsa git-bash$ chmod 600 id_rsa git-bash$ ls -l id_rsa -rw-r--r-- 1 masayuki ataka 2 2009-09-16 06:21 .ssh/id_rsa
Cygwin 付属の chmod ならパーミッションを変更できた、やうに見えるけど
cygwin-bash$ git-bash$ cd .ssh git-bash$ ls -l id_rsa -rw-r--r-- 1 masayuki ataka 2 2009-09-16 06:22 .ssh/id_rsa git-bash$ chmod 600 id_rsa git-bash$ ls -l id_rsa -rw------- 1 masayuki ataka 2 2009-09-16 06:23 .ssh/id_rsa
GIT GUI 付属の ls で確認するとパーミッションが元に戻ってる。
git-bash$ ls -l id_rsa -rw-r--r-- 1 masayuki ataka 2 2009-09-16 06:21 .ssh/id_rsa
そのせいか、GIT BASH 経由で ssh 接続にパスフレーズが使えない。
困った
解決方法
原因を一つに絞り込めていないのだけど、次の作業を行なったら不具合が解決した。
- Windows の環境変数「CYGWIN」を削除した
- Windows の環境変数「HOME」を削除した
両方の環境変数を削っても、Cygwin 及び MsysGit を使う上で特に問題は起きていない。
時間がなくて調べ切れてない。もしかしたら「HOME」を削除しなくても良いかもしれない。あと、環境変数「CYGWIN」には「ntsec」という値が設定されていたのだけど、その値の意味も調べてない。他の値に変更するだけでも動いたのかもしれない。詳しい方、コメント下さい。
No comments:
Post a Comment