准备
有2台机器,分别为:
- A:
192.168.1.101
- B:
192.168.1.102
A想要免密登录B服务器,那么就需要在A机器上先生成密钥对
1、检查是否已有 SSH 密钥对
通过以下命令检查是否已经生成了 SSH 密钥对,若已存在则可直接跳到第三步进行操作;
ls -al ~/.ssh/id_*.pub
需要注意的是:在公司里进行配置免密登录时,如果密钥对已存在,且需要覆盖时,需要先确认下是否有其他同事在使用,避免其他同事的免密登录变得不可用;
2、生成密钥对
如果密钥对不存在,,或者已存在想要覆盖原密钥对,则可以使用以下命令生成一个以下2个命令选其一即可;
ssh-keygen -t rsa
# 或者
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
输入以上命令后一直按回车
键即可,全部都用默认的选项,控制台显示以下内容表示成功!
生成后,再次进入.ssh
目录下,检查密钥对是否已生成,下图是已生成的密钥对
3、将A生成的密钥对导入到B服务器
导入的方式有2种
3.1、使用ssh
导入
这种方式是将密钥对追加到B服务器的 authorized_keys
文件
ssh guest2@server2 cat /home/guest2/.ssh/id_rsa.pub >> authorized_keys
3.2、使用ssh-copy-id
导入(推荐使用)
ssh-copy-id 命令会自动将本机的密钥对导入到目标机器上,简单又方便
ssh-copy-id remote_username@server_ip_address
导入后就可以使用 ssh guest2@server2
命令进行免密登录了,