ssh/git pull 无密码登录 自动拉取
ssh/git pull 无密码登录 自动拉取
作者:matrix 被围观: 3,063 次 发布时间:2019-05-28 分类:Linux | 5 条评论 »
这是一个创建于 1191 天前的主题,其中的信息可能已经有所发展或是发生改变。
测试需要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
相关文章
- SSH Config 允许使用root密码登陆 PermitRootLogin[通俗易懂]
- 渗透测试|Linux下的ssh免密登录后门
- 如何保持Ssh长时间连接不断开
- 记一次SSH下无法umount磁盘的问题
- 解决Ubuntu下ssh无法启动
- 实现Linux之间SSH互信的方法(linuxssh互信)
- Linux实现免密码SSH登录方法(linux免密码ssh登陆)
- Linux SSH登录失败:解决方案(linux无法ssh登录)
- SSH连接Linux告急:调整分钟解决连接速度慢问题(ssh连接linux慢)
- 连接Linux SSH连接被拒绝:如何解决?(linuxssh拒绝)
- Linux查看SSH端口:一步步指引(linux查看ssh端口)
- 通过SSH连接Linux:从入门到精通(sshlinux命令)
- MySQL与SSH的深度整合(mysqlssh)
- Linux远程通过SSH实现无限可能(linux远程ssh)
- Linux 中的 5 个 SSH 别名例子
- 使Linux更安全:开启SSH服务(ssh服务linux)
- Linux操作系统如何连接SSH服务的简单指南(linux连接ssh服务)
- 学习C,把SSH和MySQL整合在一起(c# ssh mysql)
- SSH连接Redis简单而又安全的方式(ssh连接redis端口)
- 挖掘更多可能启用SSH框架Redis(ssh框架使用redis)
- 利用Oracle SSH隧道安全远程访问(oracle ssh隧道)
- ssh项目环境搭建步骤(web项目)