当前位置:网站首页 > 编程语言 > 正文

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



本文最近更新于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免密登录原理是什么)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • max31855程序(max31865程序)2026-01-27 08:09:10
  • 若依文件上传(若依文件上传加进度条)2026-01-27 08:09:10
  • pllg是什么意思(pll是什么意思缩写)2026-01-27 08:09:10
  • 网页制作代码模板和素材哪个好(网页制作代码模板和素材哪个好一点)2026-01-27 08:09:10
  • bigboss源有什么用(bigboss源空白解决办法)2026-01-27 08:09:10
  • ubuntu源码编译安装(ubuntu如何编译运行程序)2026-01-27 08:09:10
  • 爱普生c7000(爱普生c7000打印机缺点)2026-01-27 08:09:10
  • 字体图标不显示怎么办(字体图标不显示怎么办苹果手机)2026-01-27 08:09:10
  • msp432单片机简介(msp430g2553单片机)2026-01-27 08:09:10
  • 电池mha是什么意思(电池上标mwh和mah是什么意思)2026-01-27 08:09:10
  • 全屏图片