专题推荐
专题推荐

Linux VPS安全:只允许SSH密匙登录VPS服务器

2020-03-17 15:06 分类:Linux VPS安全 阅读(次阅读) 标签:,

虽然之前写了一篇修改VPS服务器SSH默认22登录端口教程,但是如果还是担心登录端口被人扫到后,可以尝试下面两个办法:
1. 安装DenyHosts
DenyHosts是一款Linux防暴力破解的软件.
2. 只允许SSH密匙登录VPS服务器
SSH密匙文件一般都是上千位的密码,这个真的很难破解的,要有破解这个SSH密匙的本事,那也真的…

SSH密匙文件如果是阿里云服务器的话可以直接在aliyun服务器生成(阿里云服务器安全设置之生成服务器登录密匙对与绑定教程)

下面介绍下如何在Linux VPS服务器上生成密匙文件并绑定教程:

1.先用Xshell登录远程Linux VPS服务器,并执行密匙生成命令:

Xshell使用教程:Xshell+Xftp 优秀的Linux VPS管理工具使用教程

ssh-keygen -t rsa

ssh-keygen -t rsa命令的执行示范如下:

[root@vpsyi ~]# ssh-keygen -t rsa   //运行ssh-keygen -t rsa 复制该命令然后按回车 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):     //直接按回车同意保存在该目录
Enter passphrase (empty for no passphrase):                  //输入你的密匙密码,比如 vpsyi (注意大小写)
Enter same passphrase again:                       //重复输入你的密匙密码,vpsyi (注意大小写)
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:c8cQqFxMBTiyx8gm72GJqDzFBzPAG9oLQHiUhj99+7k root@vpsyi
The key's randomart image is:
+---[RSA 2048]----+
|++..   +o+o      |
|+++ . o +  .     |
|o=+o * +  .      |
|o.=+* *    o     |
| o.B++ .S . o    |
|. oo=..  o .     |
|o .o.. . .       |
|.o  .   o        |
|  .     E.       |
+----[SHA256]-----+
[root@vpsyi ~]#

好了这就代表SSH密匙文件生成完成了,如下图:

好了这就代表SSH密匙文件生成完成了

2.保存SSH密匙登录文件到本地并异地备份.

2.1方法一:用Xshell登录你的Linux VPS,你会发现直接用ls命令是找不到/root/.ssh这个隐藏目录的.

你可以用cd命令找到该目录,cd命令示范:

[root@vpsyi ~]# cd /root/.ssh
[root@vpsyi .ssh]# ls -l
total 8
-rw------- 1 root root    0 Mar 11 22:22 authorized_keys
-rw------- 1 root root 1766 Mar 17 02:08 id_rsa
-rw-r--r-- 1 root root  394 Mar 17 02:08 id_rsa.pub
[root@vpsyi .ssh]#

然后点击Xshell界面的Xftp图标可以快速用Xftp打开该目录,如下图箭头所指的位置:

Xshell+Xftp 优秀的Linux VPS管理工具使用教程之如何使用Xftp

2.2方法:直接用Xftp工具登录后再地址栏输入 /root/.ssh 可以打开该目录

下载到本地保存,尽量异地备份一下. Xftp使用教程:Xshell+Xftp 优秀的Linux VPS管理工具使用教程

3.Linux VPS服务器绑定密匙登录文件

3.1用Xshell登录你的Linux VPS然后输入 mv命令给生成的id_rsa.pub文件更名为authorized_keys

mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

mv命令执行示范:

[root@vpsyi .ssh]# mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
mv: overwrite ‘/root/.ssh/authorized_keys’? y
[root@vpsyi .ssh]#

3.2然后输入chmod权限命令,给予authorized_keys权限:

chmod 600 /root/.ssh/authorized_keys

3.3用vi命令编辑/etc/ssh/sshd_confi文件,输入

vi /etc/ssh/sshd_confi

然后按回车执行命令编辑sshd_confi文件

将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes

可能你的系统没有RSAAuthentication这个那就只设置 PubkeyAuthentication后面的值都改成yes

如下图: 输入 vi /etc/ssh/sshd_confi 命令然后按回车执行命令编辑sshd_confi文件

如下图: 输入 vi /etc/ssh/sshd_confi 命令然后按回车执行命令编辑sshd_confi文件

将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes

可能你的系统没有RSAAuthentication这个那就只设置 PubkeyAuthentication后面的值都改成yes

下面几张图是输入 vi /etc/ssh/sshd_confi 命令然后按回车执行命令编辑sshd_confi文件示范:
可能你的系统没有RSAAuthentication这个那就只设置 PubkeyAuthentication后面的值都改成yes
vi命令使用教程:进入文件后按i键开始编辑,编辑好后ESC键退出编辑模式,输入:w 保存,输入:q 退出该文件.
编辑,编辑好后ESC键退出编辑模式,输入:w 保存,输入:q 退出该文件
输入:q 退出vi编辑该文件.
输入:q 退出vi编辑该文件
3.4重启sshd服务
CentOS系统执行:/etc/init.d/sshd restart,如果提示不存在执行:service sshd restart 试试

/etc/init.d/sshd restart

Debian/Ubuntu系统执行: /etc/init.d/ssh restart

4.Xshell VPS安全密匙登录测试

先不要关闭之前的登录.
在Xshell里面的连接列表右键点击要修改的连接,点击属性:

选择用户身份验证,然后注意箭头所指之处的用户密匙,点击浏览
选择用户身份验证,然后注意箭头所指之处的用户密匙,点击浏览
点击浏览后弹出的是密匙文件列表,这里没有刚才下载的密匙登录文件,需要点击导入
点击浏览后弹出的是密匙文件列表,这里没有刚才下载的密匙文件,需要点击导入
选择id_rsa 当然你可以把这个文件改为你想要的的名字便于记住,比如VPS002-Xianggang-XXX
选择id_rsa 当然你可以把这个文件改为你想要的的名字便于记住,比如VPS002-Xianggang-XXX
下图要输入的密匙登录密码就是之前新建密匙时输入的密码
下图要输入的密匙密码就是之前新建密匙时输入的密码
导入SSH密匙成功后可以点击属性修改这个密匙文件的名称:
导入SSH密匙成功后可以点击属性修改这个密匙文件的名称
好了,再测试一下SSH密匙登录VPS服务器
测试一下SSH密匙登录VPS服务器
没有意外的话,只允许SSH密匙登录VPS服务器应该就成功了.
这样你的Linux VPS安全性就更高了.


本文地址: https://www.vpsyi.com/ssh-mishi-denglu.html