欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ssh免密登录配置

程序员文章站 2022-04-30 11:24:57
...

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]

现在三台机器之间互相可以免密登录。