ssh免密配置文件(ssh免密码)

ssh免密配置文件(ssh免密码)ssh 命令用于远程登录上 Linux 主机 常用格式 ssh l login name p port user hostname 配置两台机器 操作系统都为 Centos7 ip 设置为 Server A 192 168 9 100 Server B 192 168 9 110 1 查看 ssh keygen 的命令手册 在命令窗口中通过 man ssh keygen 命令

大家好,我是讯享网,很高兴认识大家。



ssh [-l login_name] [-p port] [user@]hostname

配置两台机器,操作系统都为:Centos7,ip设置为:

Server A: 192.168.9.100
Server B: 192.168.9.110

Centos 系统之间免密登录 centos设置免密登录_linux
讯享网

Centos 系统之间免密登录 centos设置免密登录_ssh-keygen_02

Centos 系统之间免密登录 centos设置免密登录_Centos 系统之间免密登录_03

Centos 系统之间免密登录 centos设置免密登录_Server_04

* authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥(初始不存在该文件
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单*

1.免密码登录原理

Centos 系统之间免密登录 centos设置免密登录_Server_05

  • 1.在A上生成公钥私钥。
  • 2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
  • 3.Server A向Server B发送一个连接请求。
  • 4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。
  • 5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。
  • 6.得到server B发来的消息后,会使用私钥进行解析,然后将机密后的字符串发给server B。
  • 7.接收到机密后的字符串会跟先前生成的字符串进行对比,如果一致就允许免密登陆。

总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。

2.常用以下几种方法
方法一:通过ssh-copy-id的方式

  • 命令:ssh-copy-id -i ~/.ssh/id_rsa.pub [romte_ip]
  • 例如:ssh-copy-id -i /.ssh/id_rsa.pub 192.168.9.110,如下图显示:

ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和/.ssh, 和~/.ssh/authorized_keys设置合适的权限。

方法二:手工复制粘贴的方式

  • 1.拷贝本地主机的公钥到远程主机: scp id_rsa.pub
  • 2.将本地主机的公钥加到远程主机的授权列表 .ssh/authorized_keys 若不存在,手动创建: cat id_rsa.pub >> authorized_keys
  • 3..ssh目录的权限必须是700 ,chmod 700 .ssh
  • 4.授权列表authorized_keys的权限必须是600,chmod 600 authorized_keys

小讯
上一篇 2025-05-01 18:55
下一篇 2025-04-28 11:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/186389.html