远程连接服务

 

1.SSH协议握手流程

        TCP三次握手后当前主机与远程服务器之间协商用哪种协议版本,ssh有两个(ssh1/ssh2)一般用ssh2,协商完后进入到密钥交换的阶段,客户端会生成一个公钥和一个私钥,公钥用来上锁,私钥用来解锁,要和远程服务器进行数据传输,需要对数据进行加密,将公钥(锁)发给服务器,服务器接收到当前主机发送的公钥,服务器本身也有公钥和私钥,服务器将发来的公钥与自身的公钥和私钥组成后生成一个新的东西,新的东西就叫共享密钥。这个共享密钥要一直留在服务器不能泄露给任何人,但现在服务器发来的数据主机无法解密,因为主机没有得到服务器的公钥,于是服务器需要将自己的公钥发给主机,让主机将自身的公钥私钥与服务器的公钥相结合生成一个主机的共享安全密钥,于是服务器与主机之间就可以用彼此的公钥加密,用自己的私钥解密。但在这个过程中会有公钥被黑客截取的风险,于是我们在接收服务器发来的公钥时,需要验证发来公钥的合法性,于是服务器生成了一个host公钥和host私钥,用host私钥对共享安全密钥进行处理,生成了一个HASH值的标识,在传输的过程中我们可以用服务器的host公钥对这个标识进行加密,再把服务器上的公钥传过来,主机通过自身的公钥私钥以及服务器的公钥自己也生成了一个HASH标识,此时如果两个HASH值能够配对说明我接受到的公钥是安全的

1.1.非对称加密过程(免密连接)

为了保证每次连接服务器时不需要输入密码,在客户端使用 ssh-keygen 命令生成一个公钥和私钥

交互的生成方式

ssh-keygen

Your identification has been saved in /root/.ssh/id_rsa(私钥) Your public key has been saved in /root/.ssh/id_rsa.pub(公钥)

非交互的生成方式

ssh-keygen -f /root/.ssh/id_rsa -p ""(-f 指定保存文件的名称,-P 指定密码)

现在有了公钥与私钥则需要将公钥传输过去,让它生成一个authorized_keys的文件这里面就是公钥

在客户端输入 ssh-copy-id -i id_rsa.pub(锁) root(锁那个用户)@172.25.254.100(服务器IP)

-i 指定密钥 root( 服务器的root用户)

需要得到服务器的认证,所以需要输入服务器的root密码

此时进入服务器 中的 cd /root/.ssh 中就可以看到authorized_keys文件

此时登录就不需要密码了

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值