Linux配置ssh免密登录

时间:2023-12-31 12:59:20

假定有3台机,用户名和IP分别是:
C1  192.168.1.101
C2  192.168.1.102
C3  192.168.1.103

# 登入root用户
su

# 安装vim
apt-get install vim

# 安装ssh
apt-get install openssh-server

# 查看机器名字(可跳过此步)
vim /etc/hostname #如需修改可直接编辑后重启即可

# 打开hosts文件(3台机都要执行此步)
vim /etc/hosts

# 在hosts文件中加入以下几行:
192.168.1.101 C1
192.168.1.102 C2
192.168.1.103 C3

# 进入ssh密钥信息目录
cd /root/.ssh

# 生成ssh密码(3台机都要执行此步)
ssh-keygen -t rsa -P '' #弹出提示时按回车,保存到默认文件
cat id_rsa.pub >> authorized_keys

# 把C2和C3的keys文件复制到C1
scp root@C2:/root/.ssh/authorized_keys c2keys
scp root@C3:/root/.ssh/authorized_keys c3keys

# 如果这一步报Permission denied错误,请参考以下这篇:
https://www.cnblogs.com/maluscalc/p/11063904.html

# 在C1机把3台机的keys合并到一个文件
cat c2keys >> authorized_keys
cat c3keys >> authorized_keys
chmod 600 authorized_keys #修改文件读写权限

# 把合并后的keys文件复制回C2、C3
scp authorized_keys root@C2:/root/.ssh/authorized_keys
scp authorized_keys root@C3:/root/.ssh/authorized_keys

# 测试是否生效
在C1机输入ssh C2,如果没提示输入登录密码,即为生效。同样地,也可在其它机进行类似操作测试。