Skip to content →

VPS安全登录设置

本文介绍VPS如何禁止密码登陆、使用ssh公钥密钥登录原理。

必须要避免使用根用户,可以创建一个叫who的非根用户,并将其加入sudo用户组:

[email protected]:~# adduser who
[email protected]:~# usermod -G sudo who

为了保证系统中的软件安装了最新的更新和安全修补,先进行升级操作:

[email protected]:~# sudo apt-get update
[email protected]:~# sudo apt-get upgrade
  • SSH密钥对认证

推荐使用密钥认证的方式访问VPS。简单来说,就是创建一对密钥,其中私钥保存在本地设备中,公钥保存在VPS中,这样在本地设备使用ssh连接VPS的时候,VPS会随机创建一个消息,使用公钥加密之后把密文发送给本地设备,本地设备收到密文之后使用私钥解密,然后把解密后的消息发送给VPS,VPS验证无误后就会赋予访问权限。

在本地,生成密钥对并将公钥上传到VPS:

[email protected]:~# ssh-keygen
[email protected]:~# scp ~/.ssh/id_rsa.pub who@123.456.78.90:

在VPS,将公钥添加到授权文件中:

[email protected]:~# mkdir ~/.ssh                  # 如果不存在先创建
[email protected]:~# touch ~/.ssh/authorized_keys  # 如果不存在先创建

[email protected]:~# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

[email protected]:~# chown -R who:who ~/.ssh       # 修改目录权限
[email protected]:~# chmod 700 ~/.ssh
[email protected]:~# chmod 600 ~/.ssh/authorized_keys
  • 禁止使用密码登录和使用根用户登录

修改 /etc/ssh/sshd_config 文件,将 PasswordAuthentication 和 PermitRootLogin 都设置为no。

重启ssh使修改生效:

[email protected]:~# sudo service ssh restart

Published in 未分类