Hadoop+Spark大数据技术(微课版)
上QQ阅读APP看书,第一时间看更新

1.3.2 安装SSH、配置SSH免密码登录

SSH(secure shell,安全外壳)是建立在应用层基础上的安全协议,由IETF(Internet engineering task force,因特网工程任务组)的网络小组制定。SSH是目前较可靠的,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH由客户端和服务器组成,它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序及scp(远程复制)、slogin(远程登录)和sftp(安全文件传输)等其他应用程序。SSH的工作机制是,本地的客户端发送一个连接请求到远程的服务器,服务器检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务器,自此建立连接。

Hadoop的NameNode(名称节点)需要通过SSH来启动Slave列表中各台主机的守护进程。由于SSH需要用户密码进行登录,但Hadoop并没有提供以SSH输入密码登录的形式,因此,为了能够在系统运行中完成节点的免密码登录和访问,需要将Slave列表中的各台主机配置为NameNode。配置SSH的主要工作是创建一个认证文件,使得用户以public key方式登录,而不用手动输入密码。Ubuntu默认已安装了SSH客户端,此外还需要执行如下命令安装SSH服务器:

安装好SSH服务器后,可以执行如下命令登录本机:

此时会有登录提示,要求用户输入“yes”以便确认连接。输入“yes”,然后按提示输入密码“hadoop”,这样就可以登录到本机。但这样登录是需要每次都输入密码的,下面我们将其配置成SSH免密码登录,配置步骤如下。

(1)生成密钥对

(2)加入授权

此时,再执行ssh localhost命令,不用输入密码就可以直接登录了。