ssh免密登录原理(ssh免密登录原理是什么)

ssh免密登录原理(ssh免密登录原理是什么)本文最近更新于 2021 11 25 客户端私钥是自己独有的 公钥是公开的 服务器公钥加密后的数据只有客户端使用自己的私钥才能解密 nbsp challenge 指公钥加密 质询 认证过程分为两个步骤 会话密钥 session key 生成 客户端请求连接服务器 服务器将 As 发送给客户端 服务器生成会话 ID session id 设为 p 发送给客户端 客户端生成会话密钥 session key 设为 q 并计算 r p xor q 客户端将 r 用 As 进行加密



本文最近更新于2021.11.25

客户端私钥是自己独有的,公钥是公开的。服务器公钥加密后的数据只有客户端使用自己的私钥才能解密

challenge指公钥加密“质询”

认证过程分为两个步骤。

会话密钥(session key)生成

客户端请求连接服务器,服务器将 As 发送给客户端。

服务器生成会话ID(session id),设为 p,发送给客户端。

客户端生成会话密钥(session key),设为 q,并计算 r = p xor q。

客户端将 r 用 As 进行加密,结果发送给服务器。

服务器用 Bs 进行解密,获得 r。

服务器进行 r xor p 的运算,获得 q。

至此服务器和客户端都知道了会话密钥q,以后的传输都将被 q 加密。

认证

服务器生成随机数 x,并用 Ac 加密后生成结果 S(x),发送给客户端

客户端使用 Bc 解密 S(x) 得到 x

客户端计算 q + x 的 md5 值 n(q+x),q为上一步得到的会话密钥

服务器计算 q + x 的 md5 值 m(q+x)

客户端将 n(q+x) 发送给服务器

服务器比较 m(q+x) 和 n(q+x),两者相同则认证成功

ssh 配置文件位于/etc/ssh/sshd_config

如果需要允许root用户远程登录,那么vi /etc/ssh/sshd_config 搜索字符串Root,找到允许root登录那行,去掉注释,把no改为yes

ssh ip 远程登录,如果不能访问,可能是目标主机没有允许ssh通过防火墙,使用iptables -F清空再次尝试

密钥登录配置步骤:

目标:A主机免密码登录B主机

A主机 : ssh-keygen   创建密钥

                  ssh-copy-id ipofB 复制密钥到B主机,回车后需要输入B的密码(这样以后就可以直接免密码登录到B主机中了).如果想一台主机免密登陆多台主机的话,则多次使用ssh-copy-id user@ip就可以了。

B主机:需要提前修改配置文件,允许root用户远程登录修改PermitRootLogin为 yes(如果没有修改该项目,复制密钥到本机时会提示没有权限),并且修改登录方式PasswordAuthentication 为no

               重启服务器,在A主机上即可免密码登录

注意把PasswordAuthentication 改为no之后,再尝试使用密码登录,会提示未授权,需要将其改为yes后才可以使用密码登录


PS:配置免密登录后,可以直接ssh ip "command" 来远程执行命令,而不用进入远程终端。

今天的文章 ssh免密登录原理(ssh免密登录原理是什么)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2026-03-08 12:01
下一篇 2026-03-08 12:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/51469.html