提高 VPS SSH 访问的安全性

SSH 登录的方法虽然已经使得访问 VPS 较为安全,但仍然有不少办法可以进一步提高 SSH 本身的安全性,本文对此进行简单的记述。

  1. 进入 SSH 服务配置文件:

    1
    
    vi /etc/ssh/sshd_config
    
  2. 找到 #port 22,将前面的 # 去掉,然后修为自己设定的值

  3. 重启 ssh 服务:

    1
    2
    
    service ssh restart     # Debian or Ubuntu
    service sshd restart    # CentOS
    

    注意:有些 VPS 提供商(如 Bandwagon)会自行修改 SSH 访问端口,则无需修改。

  1. 执行以下命令在 VPS 上生成密钥文件:

    1
    
    ssh-keygen -t rsa
    

    注意:路径可以选择默认,但是 passphrase 最好不要为空。

  2. 使用 ftp 服务将 ~/.ssh/id_rsa 文件保存到本地

  3. 使用 SSH 客户端导入 id_rsa 文件

    注意:有些客户端(如 PuTTY)有其特有的私钥格式,需要参照说明文档进行格式转换(PuTTY 中要使用 PuTTYgen)

  4. 执行这个命令, 将公钥文件复制一份,并改名为 authorized_keys

    1
    
    cat id_rsa.pub >> ~/.ssh/authorized_keys
    
  5. 进入 SSH 配置文件:

    1
    
    vi /etc/ssh/sshd_config
    
  6. 修改或添加的内容如下:

    1
    2
    3
    4
    5
    6
    7
    
    #设置公钥
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      %h/.ssh/authorized_keys
    
    #关闭密码认证,因为我们打算用公钥密钥来连接了
    PasswordAuthentication no
    
  7. 重启 SSH 服务:

    1
    2
    
    service ssh restart     # Debian or Ubuntu
    service sshd restart    # CentOS
    

    注意:

    • 重启服务之前,一定要确认私钥文件正确下载,并转化为了正确的格式。
    • 如果要用不同的用户访问服务器,就要对不同的用户使用上述步骤生产不同的密钥,不同私钥对应不同用户。

vps security