SSH免密登录
本文介绍了如何在Linux主机之间设置SSH免密登录的方法,包括生成公私钥、上传公钥、测试免密登录等步骤,并附有注释和图片说明。文章还提供了注意事项和相关链接,适合Linux初学者和使用者参考
案例如下:
系统 | 计算机 | IP |
CentOS 7 | node1 | 192.168.31.100 |
CentOS 7 | node2 | 192.168.31.107 |
一、单向免密登录
说明:服务器:node1 单向免密登录 node2
1、关闭防火墙
systemctl stop firewalld
2、在服务器:node1 上运行命令:ssh-keygen -t rsa
此命令是生成公钥和私钥
运行命令一路回车就好
[root@node1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:EuqTsMEgXqIsP61BCPVlFi7HxTny4r8fb+YMPtqlYwM root@node1
The key's randomart image is:
+---[RSA 2048]----+
| . =o.. |
| . . *..+ |
|+. .o =o . |
|*+o +... |
|+o= ....S |
|.o * ...E |
| = = . .o . |
| + . .o=Bo |
| . o==B+ |
+----[SHA256]-----+
[root@node1 ~]#
在没有指定生成路径时,会默认生成到家目录下的.ssh/目录下。使用rsa就会生成id_rsa和id_rsa.pub两个文件,如果使用的是dsa则生成的是id_dsa和id_dsa.pub两个文件。
可以用命令:ls /root/.ssh/ 查看生成好的 id_rsa 和 id_rsa.pub 文件
[root@node1 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
3、将生成好的 id_dsa.pub 公钥文件发到IP为:192.168.31.107 的 node2 服务器上
运行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.31.107
测试:在 node1 服务器上登录 node2 服务器
运行命令:ssh root@192.168.31.107
如下图所示
二、双向免密登录
说明:
服务器:node1 免密登录 node2
服务器:node2 免密登录 node1
1、在服务器:node2 上运行命令:
ssh-keygen -t rsa
2、在服务器:node2 上运行命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.31.100
3、测试 node2 免密登录 node1 命令: