服务器安全设置之密匙登陆

使用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!

  1. 逗妇乳 2014.02.20 1:44pm

    直接关掉sshd,然后使用ssh console

    • Jalena 2014.02.20 3:55pm

      太高端。不适合啊

HTML tag cannot be used in this comment.