AI 摘要(由 ChatGPT 总结生成):
该文介绍了在Linux系统中实现免密码登录SSH的方法。首先,在本地生成公钥和私钥,并检查是否已有密钥。然后,将公钥文件拷贝到其他服务器上,使用命令`ssh-copy-id -i [ip]`进行拷贝。演示以`node1`主机为例,成功后可实现主机间的免密码登录。在操作过程中,注意目录权限应为700,否则可通过`chmod 700 .ssh`进行设置。

前言

Linux系统维护这块向来是个麻烦事,遇到负载均衡或多主机维护每次登录都要输入密码,一次两次还好,多了,真心繁琐,下面就分享一下,Linux如何免密码登录其他主机。

  • 演示系统:CentOS 7.9.2009
  • 主机IP分别为:192.168.17.131(node1)、192.168.17.132(master)、192.168.17.133(node2)

下面以node1主机进行教程演示

教程

1、生成公钥

生成公钥前先查看本地有没有生成密钥,如果有的话,再次生成会影响前面已经设置好的

cat ~/.ssh/id_rsa.pub

# 如下显示则没有生成
cat: /root/.ssh/id_rsa.pub: No such file or directory

如果没有的话,输入下面的命令来在本机上生成公钥和私钥

ssh-keygen -t rsa

生成秘钥.png

连续按3次回车,生成之后会在用户的根目录生成一个.ssh的文件夹,此时进入该文件夹可看到相关秘钥信息

秘钥文件信息.png

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

2、拷贝公钥文件到相关服务器上

cd .ssh
#将公钥拷贝到其他服务器
ssh-copy-id -i [ip]

拷贝秘钥.png

拷贝公钥时会验证输入对面主机的登录信息,此时node1master可直接使用ssh [ip]命令进行相互切换,这时我们再将需要切换登录的主机再以相同的操作拷贝一份秘钥到对方主机上。

双方主机第一次登录到对方主机需要身份验证,后面的登录就无需在验证身份。

若遇到相关无法登录问题,多半是权限问题,.ssh目录的权限必须是700,若不是可使用该命令chmod 700 .ssh将其设置为700

End

本文标题:Linux主机免密登录SSH

本文链接:https://www.isisy.com/987.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

如果觉得我的文章对你有用,请随意赞赏