ssh免密登录配置
ssh免密登录配置
环境:ubuntu 18.04
机群:三台虚拟机 master slave1 slave2
目标:
1、master单向可以登录slaves
2、master与slaves可以两两之间互相登录
master单向登录slaves
虚拟机的IP信息如下:
spark-master :192.168.73.134
spark-slave1 :192.168.73.135
spack-slave2 :192.168.73.137
安装ssh-server,ubuntu 18.04中只默认安装了 ssh-agent,可以使用命令 ps –e | grep ssh查看。
sudo apt-get install openssh-server
开启ssh-server服务:
service sshd restart
在 master 上执行 ssh-****** -t rsa
生成对应 rsa key pair ,在 ~/.ssh/
目录下
将 id_rsa.pub 内容拷贝至 authorized_keys,将这个 authorized_keys 文件放置在 slaves 机器上的 .ssh 目录下便可从该 master 单向免密登录。
注意,有时需要修改 authorized_keys 的权限:
chmod 600 authorized_keys
Host文件配置
为了不直接使用IP,可以通过设置hosts文件达到ssh Spark-slave1这样的的效果(三个节点设置相同)
sudo gedit /etc/hosts
在文件尾部添加如下行,保存后退出:
192.168.73.134 spark-master
192.168.73.135 spark-slave1
192.168.73.137 spark-slave2
测试,可通过在spark-master上通过 ssh spark-slave1 命令登录到 spark-slave1 上
master与slaves可以两两之间互相登录
在 master,slave1和slave2 上均执行 ssh-****** -t rsa
生成对应 rsa key pair ,在 ~/.ssh/
目录下。然后使用ssh-copy-id
命令直接完成权限授予,在当前机器下,若想访问某台机器,便将其公钥写到某台机器上的authorized_keys
上,master想要免密登录自身,也需要这么操作。
ssh-copy-id
命令可以把本地主机的公钥复制到远程主机的authorized_keys
文件上,ssh-copy-id
命令也会给远程主机的用户主目录(home)和~/.ssh
, 和~/.ssh/authorized_keys
设置合适的权限。
分别在三台机器上执行:
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
现在三台机器之间互相可以免密登录。
上一篇: 为什么当天的时间格式化后却变为昨天的时间
下一篇: 两栏布局