Linux配置ssh免密登录
假定有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
# 设置ssh目录和keys文件的权限(3台机都要执行此步),其中~/.ssh等同于/root/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
# 在C1机器执行以下命令,把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
# 在C1机器执行以下命令,把合并后的keys文件复制回C2和C3,覆盖原有的authorized_keys文件
scp authorized_keys root@C2:/root/.ssh/authorized_keys
scp authorized_keys root@C3:/root/.ssh/authorized_keys
# 测试是否生效
在C1机输入ssh C2或ssh C3,如果没有提示输入登录密码即为生效。
提示:如果是安装Ambari或Hadoop时使用,就要用规范的FQDN格式,就是[hostname].[domain].[tld]格式,例如c1.ambari.com。否则安装时会有可能报错。