首页 理论教育 配置SSH免密码登录:在两台Ubuntu系统上的搭建指南

配置SSH免密码登录:在两台Ubuntu系统上的搭建指南

时间:2023-06-20 理论教育 版权反馈
【摘要】:利用SSH协议可以有效防止远程管理过程中的信息泄露问题。我们不希望它们之间每次通信都输入一次密码,所以需要配置SSH免密码登录。在第一台Ubuntu的命令终端,可以在命令终端采用“apt-get install ssh”命令完成SSH的在线安装。SSH正常启动后,下面设置免密码登录,生成私钥和公钥。

配置SSH免密码登录:在两台Ubuntu系统上的搭建指南

1.在VMWare虚拟机上搭建另外两台Ubuntu系统

在VMWare虚拟机搭建另外两台Ubuntu系统的步骤与前面搭建第一台系统相同,在此不再详谈,需要注意两点:

(1)为了简化Hadoop的配置,保持最小的Hadoop集群,在搭建另外两台系统的时候使用相同的root超级用户的方式登录系统。

(2)JDK可以直接在另外两台机器上直接安装,但最好安装在和第一台机器相同的目录下,方便管理。或者等下面的SSH免密码登录配置好后,直接用SSH的scp命令把第一台机器上安装的JDK复制过去,同时要配置好各机器的~/.bashrc文件。

2.配置SSH免密码登录

SSH为Secure Shell的缩写,即安全外壳协议,由IETF的网络工作小组(Network Work-ing Group)所制定。SSH为建立在应用层和传输层基础上的安全协议,是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台——包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

Hadoop的Master和Slave结点之间的通信,以及Spark的Master和Worker结点之间的通信,都是通过SSH来完成的。我们不希望它们之间每次通信都输入一次密码,所以需要配置SSH免密码登录。

(1)在第一台Ubuntu的命令终端,可以在命令终端采用“apt-get install ssh”命令完成SSH的在线安装。安装完成后,在终端输入“/etc/init.d/ssh start”启动服务。(www.xing528.com)

(2)SSH正常启动后,下面设置免密码登录,生成私钥和公钥。在命令终端输入“ssh-keygen-t rsa-p“””命令,这样在/root/.ssh目录下生成了两个文件:id_rsa和id_ rsa.pub。其中id_rsa为私钥,id_rsa.pub为公钥,我们将公钥id_rsa.pub追加到authorized_ keys文件中,因为authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。可以通过“cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys”命令来实现。

(3)测试SSH能否免密码登录,在命令终端输入:“ssh localhost”命令,下面的提示信息显示系统已可以免费登录SSH。

(4)按照上面的步骤,在第二、三台机器上的命令终端执行同样的命令,在各自的root/.ssh目录下生成各自的私钥和公钥(这里我们假设1~3台机器的名字分别为Master、Slave1、Slave2)。此时在Slave1结点上执行“scp id_rsa.pub root@Master:/root/.ssh/id_ rsa.pub.slave1”命令,在Slave2结点的终端执行“scp id_rsa.pub root@Master:/root/.ssh/id_rsa.pub.slave2”命令,把各自的id_rsa.pub传给Master。在Master机器上检查Slave1和Slave2的公钥是否复制过来,此时发现Slave1和Slave2结点的公钥已经传输过来。

(5)在Master结点上把Slave1和Slave2结点发过来的公钥都追加到authorized_keys文件里,命令终端输入:“cat id_rsa.pub.Slave1>>authorized_keys”和“cat id_rsa.pub.Slave2>>authorized_keys”。

(6)将Master结点的公钥信息authorized_keys文件复制到Slave1和Slave2结点的/root.ssh目录下,Master结点的命令终端输入以下命令:

(7)此时Master结点通过SSH访问Slave1和Slave2结点已经不需要密码了,同样地Slave1或者Slave2通过SSH访问其他两个结点也不需要密码了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈