linux入门系列14--ssh服务及主机远程管理 (3)

进入heimatengyun主机,禁止口令登录

[root@heimatengyun ~]# vi /etc/ssh/sshd_config ...省略部分内容 PasswordAuthentication no ...省略部分内容 [root@heimatengyun ~]# systemctl restart sshd.service [root@heimatengyun ~]#

保存退出并重启sshd服务。

(4)验证远程登录

从origin远程登录到服务器主机

[root@origin ~]# ssh 192.168.78.100 Last login: Sun Jan 5 12:36:48 2020 from 192.168.78.104 [root@heimatengyun ~]#

可以看到通过ssh证书的方式依然可以成功正常登录。

但是此时,通过远程工具从window中通过远程工具如xshell、securecrt通过账号密码进行登录,则无法登录。由此可见即使设置允许root登录,但是不允许通过账号登录,root依然无法远程登录。root要想登录也就只有去虚拟机登录,正式环境也就只有去机房才能登录。

说明:ssh免密登录时单向的,通过上边的设置可以从origin免密登录到heimatengyun,但是反之则不行,如果想让其反之也可以的话需要用同样的方法,在heimatengyun主机上生产密钥对,然后将其公钥传输到origin主机。这样就实现了主机之间的相互ssh免密登录。

1.3.2 window主机到linux主机之间证书登录

我们也可以在windows下生成密钥对,从而在windows下通过证书登录到linxu服务器。但在windows下是不能执行ssh-keygen生成密钥对的。需要安装相应的密钥生成工具才能生成,这类工具很多,其中之前文章中讲解的SecureCRT、xshell、putty等都可以生成。

每种工具的生成方法略有区别,但是由于篇幅所限,此处仅以SecureCRT为例进行演示

(1)windows上用securecrt生成密钥对

工具-生成公钥

file

在弹出的向导中点击“下一步”

file

保持默认选择RSA算法,并点击“下一步”

file

输入证书密码,也可以不输入,如果输入了,则在登录时需要指定证书同时输入密码,注意此处的密码不是用户密码,而是证书密码

file

保持默认长度,点击“下一步”

file

点击“下一步”

file

选择密钥类型和目录,点击“完成”

file

这样就在指定的目录生成了密钥文件。

file

其中Identity为私钥文件,Identity.pub为公钥文件。

(2)将公钥文件上传到服务器

可以通过之前讲解的SecureFx或xftp上传到服务器root目录(如果不知道如何操作或忘记了请参看本系列教程第三篇)。

将上传到root目录的Identity.pub公钥文件,拷贝到.ssh目录下,并命名为authorized_keys

[root@origin .ssh]# ls Identity.pub [root@origin .ssh]# cat Identity.pub >>authorized_keys [root@origin .ssh]# ls authorized_keys Identity.pub

之所以要该文件名为authorized_keys是因为openssh不支持SecureCRT生成的密钥格式,需要进行类型转换。

(3)服务器禁止采用账号密码方式登录

至此其实就可以在windows上使用securecrt工具通过证书方式登录了,但是为了安全性以及排除演示干扰,我们禁止服务器用账号密码方式登录

[root@heimatengyun ~]# vi /etc/ssh/sshd_config ...省略部分内容 PasswordAuthentication no ...省略部分内容 [root@heimatengyun ~]# systemctl restart sshd.service [root@heimatengyun ~]#

(4)在SecureCRT中设置采用证书登录

在会话选项中进行设置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggswg.html