win10 配置git ssh_CentOS7+Git+SSH配置免密码登陆详解

1 为什么要公钥和私钥

  • 1.由于git拉取或推送代码的时候到私钥和公钥进行SSH通信
  • 2.在一套Jenkins部署多台目标机器应用,此时免密远程拷贝代码的时候私钥和公钥进行SSH通信体现尤为重要

2 准备工作

  • 这里要演示多台机器进行免密登陆拷贝文件
  • 准备两台机器,这里我是在虚拟机安装的2台CentOS操作系统的环境配置情况,你可以根据自己的学习情况进行分配内存和硬盘或你土豪可以准备2台云环境也OK
9d8cca691dab6201e6295c4b3b5b0801.png

3 公钥与公钥的区别

  • 公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。
  • 通过这种算法得到的密钥对能保证在世界范围内是独一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

4 公钥与公钥通信图解

  • 多台机器免密登录的图解
1998a8a62a370829820719d61085171d.png

5 公钥与公钥通信原理

  • 1、首先在客户端生成一对秘钥(ssh-keygen)
  • 2、并将客户端的公钥ssh-copy-id拷贝到服务端
  • 3、当客户端再次发送一个连接请求,包括ip用户名
  • 4、服务端将使用客户端的请求后,会到authorized_keys中查找,如果有相应的IP和用户,就会随机生成一个字符串。如:ABC
  • 5、服务端将用户客户端拷贝过来的公钥镜像加密,然后发送给客户端
  • 6、得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端
  • 7、服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果是一致,就允许免密登录

6 公钥与公钥生成&免密登录操作

6.1公钥和私钥生成

  • 指定一个名称生成公钥和私钥
ssh-keygen -t rsa -C "root"
  • 不指定名称生成公钥和私钥
ssh-keygen -t rsa 

下面的操作一直回车即可.此操作跟Windows、Mac等系统同等,只不过存储的文件路径不一样.

57c3ded3e296f6f28d1b92c146abde3e.png

6.2 免密登录Rsa生成操作

拷贝实现三种方式

  • cat命令追加公钥文件内容指定文件
cat id_rsa.pub >> authorized_keys

6.2.1 方法1

  • 将master生成的公钥拷贝到slave(从机或副机)指定主机名称进行远程拷贝
scp authorized_keys slave:/root/.ssh/  

6.2.2 方法2

  • 根据机器IP进行拷贝
scp authorized_keys root@192.168.1.236:/root/.ssh/scp -p ~/.ssh/id_rsa.pub root@192.168.1.236:/root/.ssh/authorized_keys 
6.2.3 方法3
  • 通过ssh-copy-id命令进行拷贝
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.236

6.3 开启sshd_config配置(重点)

【特别说明】开启必要的参数,进入 vim /etc/ssh/sshd_config 配置,此操作非常重要,由于不同操作系统不一样,网上很多文章资料都没提到此操作.

StrictModes noRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile      .ssh/authorized_keys
66ae10e5a853b8b4d8907c0db749d693.png
6.3.1启动ssh服务
/bin/systemctl start sshd.service
6.3.2启动系统
reboot
6.3.3验证说明
  • ssh 远程登录,第一次登录需要密码,后面就不需要密码了
ssh slave  或ipssh 192.168.1.236

7、总结和参考文章

7.1、总结

  • 1 、以上问题根据搭建Jenkins+GitLab+Git的时候的实际情况进行总结整理,除了技术问题查很多网上资料,通过自身进行学习之后梳理与分享。
  • 2、 在学习过程中也遇到很多困难和疑点,如有问题或误点,望各位老司机多多指出或者提出建议、留言。本人会采纳各种好建议和正确方式不断完善现况,人在成长过程中的需要优质的养料。
  • 3、 希望此文章能帮助你,也希望你看了此文档或者通过找资料进行自己实操学习效果会更好。

7.2、参考文章

  • CentOS7配置免密码登陆
https://blog.csdn.net/a237428367/article/details/50464153
  • SSH配置Linux下实现免密码登录
http://https:/www.cnblogs.com/hanwen1014/p/9048717.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值