五篇博文讲透大数据伪分布式环境搭建——ssh免密登录

2:配置 SSH 免密登录

简述
  如果按照上一篇博文操作的铁汁应该已经完成了 JDK 的安装和基本配置,每篇博文缓缓相扣,如果真的想学到对应的东西,请回戳上一篇仔细阅读大数据环境前置准备jdk的配置完成的铁汁请继续往下阅读虽然这个节点已经可以正常使用了,但是依然存在诸多问题,请听我一一道来。

(1)实际工作中,服务器被放置在机房中,同时受到地域和管理的限制,开发人员通常不会进入机房直接上机操作,而是通过远程连接服务器进行相关操作。
  (2)在集群开发中,主节点通常会对集群中各个节点频繁地访问,就需要不断输入目标服务器的用户名和密码,这种操作方式非常麻烦并且还会影响集群服务的连续运行。

为了解决上述问题,可以通过配置 SSH 服务来分别实现远程登录SSH 免密登录功能。

1. SSH 概念

SSH 为 Secure Shell(安全外壳协议) 的缩写。
  SSH 是一种网络协议,用于计算机之间的加密登录。很多 ftp、 pop 和 telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。
  SSH 就是专门为远程登录会话和其他网络服务提供安全性的协议。

2. SSH 组成

SSH 是由客户端和服务端的软件组成的。
  服务端是一个守护进程(sshd),它在后台运行并响应来自客户端的连接请求。
  客户端包含 SSH 程序以及像 scp(远程拷贝)、 slogin(远程登陆)、 sftp(安全文件传输)等其他的应用程序。

3. SSH 实现过程

具体原理流程如下图所示:

Vditor

图5

4. SSH 实现步骤

因为我们搭建的是伪分布式集群,所以只准备一台节点,我们可以将此节点即作为服务器端,也作为客户机端,实现自己免密登录自己。

要想实现此功能,首先需要在此节点上生成 root 用户的公钥,然后将生成的公钥文件复制到公钥库文件 authorized_keys 中,然后将公钥库文件 authorized_keys 放置到/root/.ssh 目录下,这样以后每次使用 root 登录本机的时候,就不需要输入密码了。具体操作如下:

(1)下载 SSH 服务并启动

SSH 服务(自己手动安装openssh-server 和 openssh-clients),我的安装好了,所以此处直接启动即可:

/usr/sbin/sshd

SSH 服务启动成功后,会默认开启 22(SSH 的默认端口)端口号,可以使用以下命令进行查看:

netstat -tnulp

执行命令,可以看到 22 号端口已经开启,证明我们 SSH 服务启动成功:

Vditor

只要将 SSH 服务启动成功,我们就可以进行远程连接访问了。开发人员比较常用的远程连接工具有 Xshell、Finalshell 等。接下来我们继续配置 SSH 免密钥登录。

(2)首先生成密钥对,使用命令:

ssh-keygen
## 或者
ssh-keygen -t rsa

语法解析:

  • ssh-keygen:生成、管理和转换认证密钥。
  • -t:指定密钥类型,包括 RSA 和 DSA 两种密钥,默认 RSA。

上面一种是简写形式,提示要输入信息时不需要输入任何东西,直接回车三次即可

Vditor

从打印信息中可以看出,私钥 id_rsa 和公钥 id_rsa.pub 都已创建成功,并放在 /root/.ssh 目录中:

Vditor

图8

(3)将公钥放置到授权列表文件 authorized_keys 中,使用命令:

cp id_rsa.pub authorized_keys

验证:

Vditor

图9

(4)修改授权列表文件 authorized_keys 的权限,使用命令:

chmod 600 authorized_keys

设置拥有者可读可写,其他人无任何权限(不可读、不可写、不可执行)。

Vditor

图10

(5)验证免密登录是否配置成功,使用如下命令:

ssh localhost  
## 或者
ssh IP地址

其中,localhost 意为“本地主机”,我们可以使用hostname命令进行查看;IP 地址,我们可以使用ifconfig命令进行查看。

  • 查看本机主机名:

Vditor

  • 远程登录成功后,若想退出,可以使用 exit 命令:

Vditor

img
概念诸多,铁汁么慢慢理解,希望能够满足您的需求
注:配备大数据环境中最关键的一篇博文,希望大家吃透,如果这一篇博文没有吃透,后续环境的配置会相当麻烦,如有疑问欢迎留言讨论或者私信咨询
@Author:HaoXuan

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章