首页 理论教育 SSH的安装与配置详解

SSH的安装与配置详解

时间:2023-06-26 理论教育 版权反馈
【摘要】:更新apt安装软件。SSH安装及免密码登录。SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,即使被中途截获,密码也不会泄露。SSH目前已经成为Linux系统的标准配置。如果要使本机开放SSH服务,即远程主机免密访问本机,则需要安装openssh-server。①三个虚拟机上分别输入如下命令安装SSH server。ssh localhostSSH首次登录会有如下提示:2)SSH免密登录配置。

SSH的安装与配置详解

(1)创建超级用户。

下面以安装用户名为“hadoop”的超级用户为例介绍如何创建超级用户。三个虚拟机中,均需要创建一个名为“hadoop”的用户。首先按ctrl+alt+t打开终端窗口,输入如下命令创建新用户。

sudo useradd-m hadoop-s/bin/bash

其中,“useradd-m hadoop”为创建可以登录的hadoop用户;“-s/bin/bash”指定该用户登入后所使用的shell为/bin/bash;与windows系统不同,在Linux的终端中输入密码,终端不会显示和提示当前输入密码的任何信息。而在windows系统中,输入密码一般都会以“∗”表示你输入的密码字符

设置密码为“hadoop”。

sudo passwd hadoop

为方便后续部署与配置,输入如下命令为hadoop用户增加管理员权限:

sudo adduser hadoop sudo

最后,点击屏幕右上角的齿轮,注销当前用户,返回登录界面,并以超级用户hadoop身份重新登录,进行集群搭建配置。

(2)更新apt安装软件

hadoop用户登录之后,首先需要更新软件apt。利用ctrl+alt+t打开终端窗口,执行如下命令:

sudo apt-get update

接着,如下命令所示,安装vi增强版vim,后续执行更改配置文件命令时需要使用该软件。

sudo apt-get install vim

注意,安装过程中,若需要确认,在提示处输入y即可。

vim的常用模式又分为命令模式,插入模式,可视模式,正常模式。

正常模式:正常模式主要用来浏览文本内容,一开始打开vim都是正常模式,在任何模式下按下Esc键就可以返回正常模式。

插入编辑模式:插入编辑模式则用来向文本中添加内容的。在正常模式下,输入i键即可进入插入编辑模式。

退出vim:如果有利用vim修改任何的文本,一定要记得保存。Esc键退回到正常模式中,然后输入:进入末行模式,wq即可保存文本并退出vim。

(3)节点间网络互通配置。

为了后续配置方便,利用主机名代替节点IP地址,在每台主机中输入下述命令修改主机名:

sudo vim/etc/hostname

将文件中默认主机名进行修改,例如,修改一台主机名为master(作为master节点),另外两台主机名分别修改为slave0和slave1(作为2个slaver节点)。首先,在每台虚拟机终端通过ifconfig命令查看本虚拟机的IP地址,其次,通过如下命令分别配置3个虚拟机的hosts文件:

sudo vim/etc/hosts

具体配置内容如下图2-19所示,其中,192.168.163.131为主机名为master虚拟机的IP地址。配置完毕,利用ping-命令测试。

图2-19 hosts文件配置

注意:要把第一行“127.0.1.1 localhost”这行信息注释掉。因为如果不注释掉,就不能在window浏览器访问虚拟机的NameNode网页了,三个虚拟机都需要修改。若两台主机无法通信,则需要关闭防火墙:service iptables stop(即时生效,重启失败);chkconfig iptables off(关闭永久生效)。

(4)SSH安装及免密码登录。

SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,即使被中途截获,密码也不会泄露。SSH目前已经成为Linux系统的标准配置。

SSH分客户端openssh-client和openssh-server,SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作。如果你只是想登录别的机器的SSH只需要安装openssh-client,Ubuntu缺省默认已经安装了openssh-client,如果没有则可通过shell命令sudo apt-get install openssh-client进行安装openssh-client。如果要使本机开放SSH服务,即远程主机免密访问本机,则需要安装openssh-server。

hadooop集群、单节点模式都需要用到SSH登录(类似于远程登录),Ubuntu默认已安装了SSH client,此外,还需要在三个虚拟机上分别输入如下命令安装SSH server。

1)安装SSH server。

①三个虚拟机上分别输入如下命令安装SSH server。

sudo apt-get install openssh-server(www.xing528.com)

②安装后,使用如下命令登录本机。

ssh localhost

SSH首次登录会有如下提示:

2)SSH免密登录配置。

集群节点间每次数据交换,需要配置成SSH无密码登录,使得主节点master免密码登录子节点slave0和子节点slave1。主节点master免密码登录子节点slave0和子节点slave1的具体实现过程如下。

①免密登录本机(ssh localhost)。

首先,生成主节点master的密钥。退出刚才的ssh,利用ssh-keygen生成密钥,将密钥加入授权中,具体输入命令如下:

加入授权后,此时可能会出现密码正确无法登录问题,解决方案如下:

a.修改sshd_config文件使得登录系统密码和可用于登录ssh;使用如下命令修改sshd_config文件。

sudo vim/etc/ssh/sshd_config

b.将文件中PasswordAuthentication选项设置为yes,如下图所示:

c.修改root密码,shell命令如下:

sudo passwd root

d.重启ssh服务,shell命令如下:

sudo /etc/init.d/ssh restart

②实现主节点master免密码登录子节点slave0,具体步骤如下。

a.打开虚拟机slave0终端,输入下面命令,进入slave0的~/.ssh目录下:

cd~/.ssh

b.复制master公钥,将虚拟机master产生的公钥文件id_rsa.pub复制到虚拟机slave0根目录下,创建文件master_rsa.pub进行存储,shell命令如下:

scpmaster:~/.ssh/id_rsa.pub./master_rsa.pub

c.将master的公钥追加到slave0的authorized_keys文件中,shell命令如下:

catmaster_rsa.pub>>authorized_keys

通过在master的~/.ssh目录下执行ssh slave0验证是否可以免密码登录,若第一次登录需要密码,但是exit退出slave0之后,再次执行ssh slave0,若能免密码登录,则配置成功。登录成功后,主机名将由原来的master改变为slave0。

③同样,在虚拟机slave1终端采取同样的步骤,亦能实现主节点master免密码登录子节点slave1,具体命令如下:

1.cd~/.ssh

2.scpmaster:~/.ssh/id_rsa.pub./master_rsa.pub

3.catmaster_rsa.pub>>authorized_keys

同理,在master的~/.ssh目录下执行ssh slave1验证是否可以免密码登录。

sshslave0

注意:如果master主机和slave0主机的用户名不一样,例如,master主机的用户名为Ruanrc,slave0主机的用户名为hadoop,需要在master修改~/.ssh/config文件,如果没有此文件,创建该文件,并在文件中添加如下内容,然后master主机再执行shell命令ssh slave0,免密码登录slave0。

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

我要反馈