本文主要介绍Linux下SSH免密码登录配置的详细说明。通过示例代码非常详细,对大家的学习或者工作都有一定的参考价值。如果你需要,让我们和边肖一起学习吧。
假设有两台Linux服务器A和B,我们希望能够通过SSH登录到另一台服务器,而不需要密码。
两台服务器的信息如下:
主机名
IP地址;网络地址
无密码登录用户名
服务器1
192.168.12.11
guest1
服务器2
192.168.12.12
guest2
环境设置(root权限)
1.关闭防火墙和SELinux
Redhat使用SELinux来增强安全性,关闭方法是:
A.永久有效性
将/etc/selinux/config文件中的SELINUX=enforcing修改为SELINUX=disabled,然后重新启动。
B.暂时生效
setenforce 0
关闭防火墙的方法是:
A.永久有效性
打开:chkconfig iptables打开
关闭:chkconfig iptables关闭
B.暂时生效
打开:服务iptables开始
关闭:服务iptables停止
两台服务器需要分开设置,防火墙和SELinux要关闭。
2.设置主机名
使用命令:vim /etc/sysconfig/network编辑/etc/sysconfig/network文件,并设置格式:HOSTNAME=[ hostname]。
将服务器a的主机名设置为server1。
将服务器b的主机名设置为server2。
3.配置hosts
编辑/etc/hosts文件,并使用命令:vim /etc/hosts将以下配置添加到两台服务器的hosts文件中:
服务器1
服务器2
4.配置sshd
编辑两台服务器的/etc/ssh/sshd_config文件,并使用命令:vim /etc/ssh/sshd_config。
删除以下3行中的“#”注释:
RSA身份验证是
公钥身份验证是
AuthorizedKeysFile。ssh/授权密钥
重新启动sshd服务,并使用命令:/sbin/service sshd restart。
秘钥设置
1.创建免密码登录账户
使用命令:
add user guest 1//创建新用户
Passwd guest1 //设置新用户的登录密码
同样,在server2中创建一个guest2帐户。
2.生成秘钥
从root用户切换到需要无密码登录的帐户,使用命令:su guest1。
执行命令:ssh-keygen -t rsa
无需指定密码,只需按回车键。执行该命令后,将在主目录(/home/guest1/)中生成两个文件。guest1用户的ssh):
Id_rsa:私钥
Id_rsa.pub:公钥
按照相同的步骤,在server2中为guest2帐户生成密钥文件。
3.将公钥导入到认证文件
使用命令:
猫/家/客人1/。ssh/id_rsa.pub /home/guest1/。ssh/授权密钥
ssh guest 2 @ server 2 cat/home/guest 2/。ssh/id_rsa.pub授权密钥
使用命令cat authorized_keys查看authorized_keys文件的内容,如下所示:
4.设置文件访问权限
使用命令:
chmod 700 /home/guest1/。嘘
chmod 600 /home/guest1/。ssh/授权密钥
执行上述设置后,server1无需密码即可登录本机。使用命令:ssh guest1@server1。
注意:当known_hosts文件中缺少主机名信息时,将提示您以下信息。输入yes将主机名写入known_hosts文件并成功登录。
至此,主机server1的SSH免密码登录完成,然后server2配置完成。
5.将认证文件复制到其他主机
执行以下命令,将生成的authorized_keys和known_hosts文件从server1复制到server2。
# scp[要传输的本地文件][远程主机用户名] @远程主机ip或主机名:[文件要传输到的目的地]
scp /home/guest1/。ssh/authorized _ keys guest 2 @ server 2:/home/guest 2/。ssh/授权密钥
scp /home/guest1/。ssh/known _ hosts guest 2 @ server 2:/home/guest 2/。ssh/已知主机
复制完成后,使用以下命令设置文件访问权限。
chmod 700 /home/guest2/。嘘
chmod 600 /home/guest2/。ssh/授权密钥
然后,执行ssh guest1@server1命令,使用server2的guest2帐户登录server1的guest1帐户,无需密码。
至此,两台服务器的SSH免密码登录已经设置完毕。如果有错误,请仔细检查上述步骤。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。