菜鸟lei的学习成长空间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::


    先前公司那边搭建了git仓库,我们写的代码就放在上面.用cygwin这套工具(里面包含了ssh-keygen用来生成ssh私钥和公钥证书,git用来下载和同步源码)来保证在windows上一样能用git.至于网上上的那个git windows版,就没去使用了.
    下午走的时候,因为公司同事先前同步了自己的代码到git上,我这边同步时候因为代码有冲突,所以先没去同步,对git使用还不熟悉,就先把cygwin里面自己主目录下的.ssh文件夹(就是这个文件夹,里面保存了自己的私钥,公钥,信任主机文件)整个压缩备份出来,打算晚上回去在自己电脑上再处理代码的事.
    回来后,在自己电脑上安装了cygwin,把先前备份出来的.ssh文件夹放到cygwin中的自己的主目录下,这个git clone从公司代码仓库中去取源码,结果出现了如下报错(部分内容涉及到隐私,我用5个星号代替了):
$ git clone git@*****.git
Cloning into *****...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0750 for '/home/leipei/.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: /home/leipei/.ssh/id_rsa
git@*****'s password:
Connection closed by *****
fatal: The remote end hung up unexpectedly
    首先是提示我自己的私钥的权限开放的太高,750.    然后又提示我输入远程git仓库连接密码,实际上先前连接git是不需要密码的,直接提供自己的私钥文件就行了.这回搞的人莫名其妙.我就没输入密码了,结果这次连接就被远程主机关掉了.
    第一直觉是.ssh文件夹里面的内容备份的有问题,文件损坏了.不过仔细看了下出错提示,是私钥文件的权限问题啊.去看了下权限:
$ ls -l
总用量 6
-rwxr-x--- 1 leipei None 1679 九月 16 19:03 id_rsa
-rwxr-x--- 1 leipei None  401 九月 16 19:03 id_rsa.pub
-rwxr-x--- 1 leipei None  396 九月 16 19:03 known_hosts
    id_rsa文件(我的私钥文件)的权限确实是先前提示的750.这时候改了下权限:
    chmod 700 id_rsa
    然后又不放心,把公钥文件的权限用chmod改成了740.再去访问git仓库,呵呵,这回就直接能从远程把代码clone到本地了:
$ git clone git@*****.git
Cloning into mbook-reader-android...
remote: Counting objects: 50, done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 50 (delta 5), reused 0 (delta 0)Receiving objects  92%
Receiving objects: 100% (50/50), 14.49 KiB, done.
Resolving deltas: 100% (5/5), done.

posted on 2011-09-17 09:43  菜鸟-雷  阅读(7986)  评论(0编辑  收藏  举报