两台Linux虚拟机 A机 B机
CentOS7
第一步:
启动 shhd 服务
systemctl start shhd
第二步:
在"A"机器生成一对秘钥
ssh-keygen
CentOS7 默认使用RSA加密算法生成密钥对,保存在~/.ssh目录下的id_rsa(私钥)和id_rsa.pub(公钥)。也可以使用“-t DSA”参数指定为DSA算法,对应文件为id_dsa和id_dsa.pub,密钥对生成过程会提示输入私钥加密密码,可以直接回车不使用密码保护
2.1 查看秘钥是否生成
ls ~/.ssh
id_rsa(万能钥匙) id_rsa.pub(锁芯) 可以理解为一把钥匙可以打开多把锁
第三步:
从"A"机上把锁芯分配给"B"机
可以通过下方命令实现
scp id_rsa.pub "B"机ip:~/.ssh/
第四步:
转到"B"机
cd ~/.ssh
出现如下情况,执行 cd ~/.ssh 找不到 .ssh 目录,是因为没有使用 ssh 登录过,使用 ssh 登录一下即可生成 .ssh 目录,之后再重新执行 ssh-keygen 生成秘钥即可
2.1 第三步执行完成后"B"机才能看到 id_rsa.pub (锁芯)
2.2 创建一个 touch authorized_keys 文件
touch touch authorized_keys
2.3 运行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
命令来将公钥导入到~/.ssh/authorized_keys这个文件中
第五步:
回到"A"机
执行 ssh "B"机ip
注:如需要一把钥匙配多把锁只需把 id_rsa.pub 文件拷贝给其他虚拟机重复上述操作即可实现"A"机免密登录多台"B"机