虽然之前写了一篇修改VPS服务器SSH默认22登录端口教程,但是如果还是担心登录端口被人扫到后,可以尝试下面两个办法:
1. 安装DenyHosts
DenyHosts是一款Linux防暴力破解的软件.
2. 只允许SSH密匙登录VPS服务器
SSH密匙文件一般都是上千位的密码,这个真的很难破解的,要有破解这个SSH密匙的本事,那也真的…
SSH密匙文件如果是阿里云服务器的话可以直接在aliyun服务器生成(阿里云服务器安全设置之生成服务器登录密匙对与绑定教程)
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密匙文件生成完成了,如下图:
2.1方法一:用Xshell登录你的Linux VPS,你会发现直接用ls命令是找不到/root/.ssh这个隐藏目录的.
[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打开该目录,如下图箭头所指的位置:
2.2方法:直接用Xftp工具登录后再地址栏输入 /root/.ssh 可以打开该目录
下载到本地保存,尽量异地备份一下. Xftp使用教程:Xshell+Xftp 优秀的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文件
将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes
可能你的系统没有RSAAuthentication这个那就只设置 PubkeyAuthentication后面的值都改成yes
下面几张图是输入 vi /etc/ssh/sshd_confi 命令然后按回车执行命令编辑sshd_confi文件示范:
vi命令使用教程:进入文件后按i键开始编辑,编辑好后ESC键退出编辑模式,输入:w 保存,输入:q 退出该文件.
输入: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
先不要关闭之前的登录.
在Xshell里面的连接列表右键点击要修改的连接,点击属性:
选择用户身份验证,然后注意箭头所指之处的用户密匙,点击浏览
点击浏览后弹出的是密匙文件列表,这里没有刚才下载的密匙登录文件,需要点击导入
选择id_rsa 当然你可以把这个文件改为你想要的的名字便于记住,比如VPS002-Xianggang-XXX
下图要输入的密匙登录密码就是之前新建密匙时输入的密码
导入SSH密匙成功后可以点击属性修改这个密匙文件的名称:
好了,再测试一下SSH密匙登录VPS服务器
没有意外的话,只允许SSH密匙登录VPS服务器应该就成功了.
这样你的Linux VPS安全性就更高了.