Linux使用ssh免密登录服务器(Centos7系统)
文章目录
环境:一台ssh客户端(host1),两台ssh服务端(host2、host3)
- 三台主机能互相通信
- 客户端:IP:192.168.10.11 (host1)
- 服务端:IP:192.168.10.12 (host2)、192.168.10.13 (host3)
测试主机之间能否通信
ssh服务不需要关闭防火墙和selinux
客户端(host1主机)操作
- 进入.ssh目录,生成密钥(私钥、公钥)
cd .ssh
ssh-keygen -t rsa [-f] [密钥名字] *
指定了-f参数后,下面生成会更该默认路径,变成当前文件夹下*
第一个冒号语句询问是否更改密钥保存路径,第二个冒号是为密钥指定密码(至少五位,可以为空)第三个是确认密码
生成的两个文件中,带.pub后缀的是公钥,不带的是私钥
2. 将客户端生成的公钥文件发送给服务器端(host2,host3)
- 创建config文件,记录ssh服务器端的相关信息
vim config 编辑内容
服务器端host2操作
-
进.ssh目录,查看有无客户端发送过来的公钥文件
-
编辑ssh服务配置文件 /etc/ssh/sshd_config
vim /etc/ssh/sshd_config
删掉PubkeyAuthentication的注释
将AuthorizeKeysFile后面的文件目录更改成客户端发送过来的私钥文件路径,我这里是在/root/.ssh/client_one.pub
-
保存退出重启服务ssh服务