使用VPS已经有一年有余,一直使用的还比较好,但是最近总是收到空间商的邮件说我的vps在收到恶意猜测密码。无赖之下安装了Denyhosts,但是随之而来的问题更普遍了,虽然阻挡了恶意的扫描,但总是无法登陆进vps,也给服务器的管理带来了很大的不便,经过与朋友交流,索性直接将VPS的验证方式修改为了使用密匙的方式,再修改了SSH的端,使用一月下来发现服务器很稳定,才看日志也没有那么多的恶意扫描了!
一、增强VPS SSH账号安全方法一:修改SSH登录端口
1、用下面命令进入配置文件。
vi /etc/ssh/sshd_config
2、找到#port 22,将前面的#去掉,然后修改端口 port 123(自己设定)。
3、再修改防火墙/etc/sysconfig/iptables,将SSH端口修改为你使用的端口。
4、然后重启ssh服务。
service sshd restart
二、增强VPS SSH账号安全方法二:使用密钥登录SSH
1、SSH登录方式有账号+密码和密钥两种形式,为了阻止暴力破解VPS的账号和密码,我们可以放弃密码验证的方式,改用密钥文件验证。
2、执行以下命令在VPS上生成密钥文件。
[root@31828440 ~]# ssh-keygen -b 2048 -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): #访问密码
Enter same passphrase again: #验证访问密码
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:
8f:55:92:c1:56:b8:0f:0c:fb:25:dd:29:ed:8e:e8:4b root@31828440.kvmla.com
The key's randomart image is:
+--[ RSA 2048]----+
| ..o. |
| . +o |
| =oo.o . |
| . =o+ + |
| S..= o |
| +. . . |
| . E. o |
| .. . . |
| .o. |
+-----------------+
3、生成密钥时会询问你密钥保存的位置,默认即可,还有你可以为你的密钥还设置一个密码,默认为空。保存位置在/root/.ssh
4、密钥生成后,进入密钥存放的目录中,执行以下命令,将公钥生成一个新的文件。
cd /root/.ssh
# 写入配置
cat id_rsa.pub >> authorized_keys
# 配置权限
chmod 600 authorized_keys
chmod 700 ~/.ssh
5、将id-rsa这个私钥文件下载到本地,打开Xshell软件,执行工具->用户密匙管理,导入这个私钥文件即可。
6、有了密钥登录VPS,我们就可以禁止用密码登录这种验证方式了,编辑配置:vi /etc/ssh/sshd_config,修改如下参数:
# SSH连接方式,参数为1或者2,这里仅使用SSH2作为连接
Protocol 2
# serverkey强度
ServerKeyBits 2048
# 禁用root账户登录,非必要,若直接使用root账户登陆就不能禁止,否则无法登陆
# no表示禁用
PermitRootLogin no
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
# 密匙认证信息配置
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /root/.ssh/authorized_keys
# 有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
保存,重启SSH服务,生效。
注:此方式适合非Putty的连接,Putty连接需要转换Key!
|