SSH连接步骤与原理

SSH步骤

现有两台机器,10.67.1.176(A)和10.67.19.184(B),想要完成A机器免密连接B机器。有如下步骤:

生成密钥对

利用linux命令ssh-keygen生成密钥对


执行命令后会生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件,默认放在当前用户下的.ssh目录下

将公钥传给远程主机B

生成公私钥后,需要把公钥传给主机B并放在固定路径的文件内,文件名称:${连接的用户}/.ssh/authorized_keys。可以利用scp或其他远程拷贝命令完成

主机B的.ssh目录截图


至此主机A已经可以免密登录主机B了。

SSH原理

网上很多文章都提了SSH原理,但是好像并没有说的明白。我参考了一些资料,发现SSH加密传输原理类似HTTPS的加密传输,即使用混合加密传输:
1. A要与B通信
2. A生成一对密钥
3.A将公钥发送给B
4.B拿到公钥,生成一个随机密码串(对称加密的key,用于认证完成后的通信),并用公钥加密这个密码串,发送给A
5.A拿到密文,用私钥解密,获得到这个随机密码串
6.B继续发送一个利用上个随机密码串加密的数据给A,A收到后用随机密码串解密这个数据
7. A解密正常后通知B
8.加密通道建立完成,以后的通信都用这个随机密码串加解密


结束!!!




  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中建立安全的远程连接SSH实现session免密登录的原理主要涉及公钥加密和身份验证两个方面。 1. 公钥加密: 在SSH中,使用公钥加密算法来实现安全通信。在免密登录中,首先需要生成一对密钥,包括公钥和私钥。用户将公钥保存在远程服务器上,而私钥则保存在本地。当用户发起SSH连接请求时,远程服务器会向用户发送一个随机数(称为challenge)。用户使用私钥对challenge进行加密,并将加密后的结果发送给服务器。服务器使用之前保存的公钥对加密结果进行解密,如果解密成功,则说明用户拥有对应的私钥,可以被认证通过。 2. 身份验证: 在公钥加密的基础上,SSH还需要进行身份验证来确保连接的安全性。常见的身份验证方式有两种:密码身份验证和公钥身份验证。 - 密码身份验证:用户在连接时需要输入密码进行身份验证。但是,在免密登录中,我们希望避免每次都输入密码,因此需要使用公钥身份验证。 - 公钥身份验证:在免密登录中,用户将自己的公钥保存在远程服务器上。当用户发起SSH连接请求时,服务器会将保存的公钥与用户发送的加密结果进行比对,如果匹配成功,则认为用户身份验证通过。 综上所述,SSH实现session免密登录的原理是通过公钥加密和身份验证来确保连接的安全性和免去密码输入的步骤

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值