一、环境说明
1.操作系统版本:cenots7.6.1810
2.两台主机,网络互通
二、配置步骤
1.准备主机
准备两台centos,假定主机A要免密登录主机B
2.两台主机新建用户
SSH登录是主机A某个系统用户要以主机B的某个系统用户身份采用SSH方式登录进去,所以这里,主机A和主机B都新建一个用户来测试
主机A新建用户auser,密码设置为12345678
useradd auser #会创建auser用户,同时加入auser用户组
passwd auser #根据提示输入两次用户密码:12345678
同理,在主机B新建用户buser
3.主机A和主机B登录新建的用户
因为是要主机A以主机B系用户buser身份来免密登陆主机B,所以后续操作,主机A当前登陆用户为auser,主机B当前登陆用户为buser
主机A:
su auser
同理,主机B登陆buser
4.主机A生成公钥和私钥
ssh-keygen -t rsa
一路回车,在~/.ssh/目录下会生成公钥和私钥
PS:~/是当前登陆用户的家目录
5.把主机A的公钥(id_rsa.pub)复制到主机B 的~/.ssh/authorized_keys 文件里
方法1:
主机A输入命令:
ssh-copy-id buser@192.168.1.107 #输入后根据提示,输入yes,输入主机B的buser用户密码
buser:主机B的系统用户(就是需要免密登录用哪个用户)
192.168.1.107:主机B的IP
方法2:
主机A输入命令:
scp ~/.ssh/id_rsa.pub buser@192.168.1.107:/home/buser/id_rsa.pub #输入后根据提示,输入yes,输入主机B的buser用户密码
scp:linux远程复制命令 ~/.ssh/id_rsa.pub:当前用户(auser)生成的公钥路径
buser:主机B系统用户(即SSH免密登陆用主机B哪个用户)
192.168.1.107:主机B的IP /home/buser/id_rsa.pub:复制到主机B下的文件的路径
主机B输入命令:
mkdir -p ~/.ssh/ #在家目录下确保要有.ssh文件夹
touch ~/.ssh/authorized_keys #确保有authorized_keys
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys #将之前的公钥追加进来
rm -rf ~/id_rsa.pub #删除原来公钥
6.修改主机B相关文件夹和文件权限
chmod 700 ~/ #修改用户家目录权限
chmod 700 ~/.ssh/ #修改.ssh目录权限
chmod 600 ~/.ssh/authorized_keys
7.此时主机A能以buser系统用户身份免验证登录主机B
ssh buser@192.168.1.107