欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

git pull 配置免密_ssh/git pull 无密码登录 自动拉取

发布时间:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 git pull 配置免密_ssh/git pull 无密码登录 自动拉取 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

作者:matrix

被围观: 1,705 次

发布时间:2019-05-28

4 条评论 »

💡NOTICE:这是一个创建于 574 天前的主题,其中的信息可能已经有所发展或是发生改变。

测试需要S,C两台服务器,我需要C服务器ssh登录到S服务器进行操作。

目的:服务器C端使用命令git pull无密码登录自动从服务器S拉取最新代码。

客户端生成RSA密钥

服务器C属于客户端角色,需要生成本地服务器的rsa密钥对,然后价格公钥发送到服务器S。

登录服务器C

$ cd ~

$ ssh-keygen -t rsa

#后面就默认回车

默认会在 ~/.ssh中生成id_rsa.pub,id_rsa这两个密钥对。

发送公钥

我之前是手动尝试把公钥文本打来粘贴到服务器S,然而ssh登录的话还是要密码验证。测试发现最好是使用ssh-copy-id命令进行操作。

还是在服务器C进行操作

$ ssh-copy-id -i ~/.ssh/id_rsa.pub login_user@HOST -p 22

说明:

ssh-copy-id命令可以快速的将公钥复制到远程主机

-i 指定公钥路径

login_user 为登录的用户名

HOST 为登录的远程服务器S的地址,域名/IP均可

-p 指定服务器S的ssh端口号

命令输入后应该会让你输入login_user用户的密码,若出现and check to make sure that only the key(s) you wanted were added.则表示公钥应该添加成功。

以免出现问题,现在可以去服务器S端看看,指定用户名login_user的文件/home/login_user/.ssh/authorized_keys会有客户端的rsa公钥。

登录测试

在服务器C操作

测试登录:

ssh login_user@HOST -p 22

若登录成功 BINGO!

其他问题

如出现还是需要密码的情况:

1.需要确定/etc/ssh/sshd_config配置文件中是否允许RSAAuthentication

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

2.用户目录权限问题

.ssh父目录的权限是755(我的是/root),.ssh目录权限是700,authorized_keys文件 600

3.确保仓库地址是ssh地址

如果还是https的话就用git remote set-url origin命令修改下:

$ git remote set-url origin git@HOST:user/project.git

参考:

https://blog.csdn.net/alifrank/article/details/48241699

https://blog.csdn.net/chengyuqiang/article/details/78432675

https://blog.csdn.net/b_x_p/article/details/78534423

https://www.cnblogs.com/0xcafebabe/p/5234678.html

总结

以上是生活随笔为你收集整理的git pull 配置免密_ssh/git pull 无密码登录 自动拉取的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。