本篇blog将讲述sshd服务提供的两种安全验证的方法,并且通过这两种方法进行两台Linux虚拟机之间的远程登陆。
准备工作:
(1) 准备两台安装有Linux系统的虚拟机,虚拟机软件采用VMware;
(2) 将两台虚拟机设置在同一网段下,互相之间可以ping通,可以采用nmtui命令进行设置;
(3) 在两台虚拟机上安装sshd服务,我这里采用本地yum仓库进行安装,步骤如下:
第一步:执行yum install sshd*
第二步:启动sshd服务,命令:systemctl start sshd
第三步:查看是否有22号端口,命令:netstat -an|more,截图如下
至此,准备工作完毕,
开始介绍之前,首先说明本篇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
稍等片刻,出现如下界面我们输入hbza的密码
接下来出现如下界面,代表我们远程登陆成功,我们可以对hbza进行一系列操作。例如:文件的创建、修改。
执行exit命令进行登出,进行下面的实验。
第二种方法(难点):基于密钥的安全验证:需要在本地生成”密钥对“后将公钥传送至服务端,进行公共密钥的比较。
第一步:在本地主机hbza-brother上生成“密钥对”,命令:ssh-keygen
注意:
Enter file in which to save the key (/root/.ssh/id_rsa):在此处回车或设置密钥的存储路径
Enter passphrase (empty for no passphrase): 在此处回车或设置密钥的密码
第二步:将生成的密钥传送到远程主机hbza中,命令:ssh-copy-id 192.168.0.100
出现如下界面,第二个红框处输入远程主机hbza密码。
稍等片刻,出现如下界面说明传送成功
第三步:在远程主机hbza中修改sshd配置文件,命令:vi /etc/ssh/sshd_config
文件的存储位置:/etc/ssh/sshd_config
打开配置文件后,
(1) 将允许密码验证的参数设置为no
(2) 将允许密钥验证的参数设置为yes
(3) 保存退出
第四步:重启ssh服务程序后生效
第五步:尝试无需密码的远程登陆
出现如下页面我们显示登陆成功。