本篇blog将讲述sshd服务提供的两种安全验证的方法,而且经过这两种方法进行两台Linux虚拟机之间的远程登录。安全
准备工做:ssh
(1) 准备两台安装有Linux系统的虚拟机,虚拟机软件采用VMware;ui
(2) 将两台虚拟机设置在同一网段下,互相之间能够ping通,能够采用nmtui命令进行设置;spa
(3) 在两台虚拟机上安装sshd服务,我这里采用本地yum仓库进行安装,步骤以下:blog
第一步:执行yum install sshd*ci
第二步:启动sshd服务,命令:systemctl start sshd虚拟机
第三步:查看是否有22号端口,命令:netstat -an|more,截图以下it
至此,准备工做完毕,table
开始介绍以前,首先说明本篇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服务程序后生效
第五步:尝试无需密码的远程登录
出现以下页面咱们显示登录成功。