linux git ssh目录权限,Git SSH Key的配置问题

生成SSH key

1. 首先在本地生成SSH key,-C参数是邮箱地址,不过其实可以随便填ssh-keygen -C 'xxx@xxx.com'

2. 然后出来个问题:Enter file in which to save the key (/Users/chuckie/.ssh/id_rsa):

直接回车

3. 如果之前生成过SSH key,再来个问题:~/.ssh/id_rsa already exists.

Overwrite (y/n)?

输入y覆盖

4. 一路回车就可以创建成功了

5. 登录gitlab,github等git仓库,在个人中心找到settings -> SSH keys,不同服务器大同小异

a666b69373e4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

6. 选择新建SSH key将之前生成的ssh key拷进去,title自己随便改。SSH key文件的位置创建的时候有出现过,默认在用户的主目录下有个.ssh/id_rsa.pub,windows:C:\Users\Administrator\.ssh,linux:~/.ssh/id_rsa.pub

a666b69373e4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

解决SSH key不生效的问题

好了,重点来了。运气好的话,跑完上面的步骤,再用git拉取或者推送远程代码就不用手动输入用户名密码了。不过有的时候会出现不生效的情况,还是提示要输入用户名密码,这是因为本地ssh agent里的key没有刷新,这里讲一下怎么解决。

1. 添加SSH keyssh-add (如果key存放路径不是默认的话,这里可以指定路径)

2. 这里可能会遇到错误Could not open a connection to your authentication agent

运行命令ssh-agent bash //或者 eval "$(ssh-agent -s)"

后重新ssh-add

SSH key不生效的其他原因

一、linux上.ssh文件夹及其中的文件有权限要求,检查一下权限是否符合要求

1. .ssh目录的权限必须是700

2. .ssh/authorized_keys文件权限必须是600

二、有一次我在拉取远程代码的时候手贱按了个ctrl+c强制退出,结果再尝试就开始要手动输入用户名密码了,不过这个简单,输了一次之后就不用再输了

Git报500 error

拉取或者推送代码时失败,出现如下error信息error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500 Internal Server Error

这个可能是数据量太大,用Http方式对数据量有限制,可以通过修改远程url改成用ssh方式连接git remote set-url origin git@github.com:(group)/(repository).git

具体url可以在repository首页找到,有时需要加`ssh://`协议前缀

a666b69373e4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

使用http方式输入用户名密码错误

解决方法:关掉输入框,会提示命令行输入,使用命令行输入用户名密码成功登录。

同样的用户名密码使用输入框输入会登录失败,原因不明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值