本篇blog将讲述sshd服务提供的两种安全验证的方法,并且通过这两种方法进行两台Linux虚拟机之间的远程登陆。

准备工作:

(1)     准备两台安装有Linux系统的虚拟机,虚拟机软件采用VMware;

(2)     将两台虚拟机设置在同一网段下,互相之间可以ping通,可以采用nmtui命令进行设置;

(3)     在两台虚拟机上安装sshd服务,我这里采用本地yum仓库进行安装,步骤如下:

第一步:执行yum install sshd*

第二步:启动sshd服务,命令:systemctl start sshd

第三步:查看是否有22号端口,命令:netstat -an|more,截图如下

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

至此,准备工作完毕,

开始介绍之前,首先说明本篇blog用到的虚拟机、yum本地仓库名称和IP地址如下:

主机名

IP

hbza

192.168.0.100

hbza-brother

192.168.0.111

yum

192.168.0.10

第一种方法:

基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机。

这种方法比较简单,我们将hbza作为服务端,hbza-brother作为客户端,我们在客户端利用ssh服务程序远程连接服务端。

在hbza-brother上打开终端,直接执行命令:ssh 192.168.0.100

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

稍等片刻,出现如下界面我们输入hbza的密码

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

接下来出现如下界面,代表我们远程登陆成功,我们可以对hbza进行一系列操作。例如:文件的创建、修改。

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

执行exit命令进行登出,接着做Windows登陆远程实验。

第二种方法(难点):基于密钥的安全验证:需要在本地生成”密钥对“后将公钥传送至服务端,进行公共密钥的比较。

第一步:在本地主机hbza-brother上生成“密钥对”,命令:ssh-keygen

注意:

Enter file in which to save the key (/root/.ssh/id_rsa):在此处回车或设置密钥的存储路径

Enter passphrase (empty for no passphrase): 在此处回车或设置密钥的密码

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

第二步:将生成的密钥传送到远程主机hbza中,命令:ssh-copy-id 192.168.0.100

出现如下界面,第二个红框处输入远程主机hbza密码。

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

稍等片刻,出现如下界面说明传送成功

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

第三步:在远程主机hbza中修改sshd配置文件,命令:vi /etc/ssh/sshd_config

文件的存储位置:/etc/ssh/sshd_config

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

打开配置文件后,

(1)     将允许密码验证的参数设置为no

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

(2)     将允许密钥验证的参数设置为yes

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

(3)     保存退出

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

第四步:重启ssh服务程序后生效

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

第五步:尝试无需密码的远程登陆

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

出现如下页面我们显示登陆成功。

远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接-LMLPHP

04-27 02:55