关于ssh证书访问git仓库时的权限问题

简介:

    先前公司那边搭建了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.



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/09/17/2179425.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
算法 安全 Shell
SSH:加密安全访问网络的革命性协议
SSH:加密安全访问网络的革命性协议
99 9
|
4天前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
7 1
|
20天前
|
Shell Linux 网络安全
git生成SSH秘钥
git生成SSH秘钥
29 2
|
3天前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
4 0
|
26天前
|
监控 安全 Linux
【权限维持】Linux&OpenSSH&PAM后门&SSH软链接&公私钥登录
【权限维持】Linux&OpenSSH&PAM后门&SSH软链接&公私钥登录
|
27天前
|
安全 网络安全 开发工具
【GIT】GitHub添加ssh密钥
【GIT】GitHub添加ssh密钥
25 0
|
2月前
|
缓存 JavaScript 网络协议
访问git和vue很慢如何解决
解决Git和Vue官网访问慢的问题,通过修改Windows的HOSTS文件。添加GitHub和Vue特定IP地址,例如github.com、cn.vuejs.org等,然后执行`ipconfig/flushdns`刷新DNS缓存,以提高访问速度。记得先备份HOSTS文件。
39 1
|
2月前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
32 1
|
2月前
|
网络安全 数据安全/隐私保护
如何使用SSH密钥克隆仓库
如何使用SSH密钥克隆仓库
|
2月前
|
存储 网络协议 Linux
如何使用内网穿透工具实现远程SSH访问Deepin系统
如何使用内网穿透工具实现远程SSH访问Deepin系统