关于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,如需转载请自行联系原作者

目录
相关文章
|
12天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
32 2
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
151 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
69 4
|
1月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
63 4
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
211 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
2月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
564 6
|
1月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
|
2月前
|
Shell 网络安全 开发工具
git与gitee结合使用,提交代码,文件到远程仓库
本文介绍了如何将Git与Gitee结合使用来提交代码文件到远程仓库。内容涵盖了Git的安装和环境变量配置、SSH公钥的生成和配置、在Gitee上创建仓库、设置Git的全局用户信息、初始化本地仓库、添加远程仓库地址、提交文件和推送到远程仓库的步骤。此外,还提供了如何克隆远程仓库到本地的命令。
git与gitee结合使用,提交代码,文件到远程仓库
|
1月前
|
前端开发 开发工具 git
搭建Registry&Harbor私有仓库、Dockerfile(八)+前端一些好学好用的代码规范-git hook+husky + commitlint
搭建Registry&Harbor私有仓库、Dockerfile(八)+前端一些好学好用的代码规范-git hook+husky + commitlint
19 0
|
2月前
|
网络安全 开发工具 git
6-23|自建仓库如何免密执行git pull
6-23|自建仓库如何免密执行git pull