
香港VPS服务器配置SSH实现无密码登录和安全加固
2026-01-13 14:47
阅读量:22

在香港VPS服务器上配置 SSH 无密码登录 和 安全加固 是提升服务器安全性和管理效率的重要措施。
一、配置 SSH 无密码登录
1. 生成 SSH 密钥
在本地客户端(如 Mac、Linux 或 Windows 的 WSL/终端)生成 SSH 密钥。
(1) 检查是否已有 SSH 密钥
运行以下命令查看是否已有密钥:
bash
ls ~/.ssh/id_rsa*
- 如果已有密钥,可以跳过生成步骤。
- 如果没有密钥,按照以下步骤生成新密钥。
(2) 生成 SSH 密钥对
运行以下命令生成新的密钥对:
bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 参数说明:
-t rsa:指定密钥类型为 RSA。-b 4096:指定密钥长度为 4096 位(更安全)。-C:添加注释(通常是邮箱地址)。
- 系统会提示输入密钥文件保存路径:
Enter file in which to save the key (/home/your_user/.ssh/id_rsa):- 按 Enter 使用默认路径:
~/.ssh/id_rsa。
- 按 Enter 使用默认路径:
- 系统会提示设置密码短语(可空,但推荐设置):
Enter passphrase (empty for no passphrase):- 若输入密码短语,则登录 VPS 时仍需输入该密码短语。
(3) 查看生成的密钥
生成的密钥包括:
- 私钥:
~/.ssh/id_rsa - 公钥:
~/.ssh/id_rsa.pub
2. 将公钥复制到香港VPS
将生成的公钥上传到 VPS 的 ~/.ssh/authorized_keys 文件中。
(1) 使用 ssh-copy-id 工具
运行以下命令将公钥复制到 VPS:
bash
ssh-copy-id -i ~/.ssh/id_rsa.pub root@<VPS_IP>
- 参数说明:
-i:指定要复制的公钥文件。root@<VPS_IP>:用 root 用户登录 VPS 的 IP 地址。
(2) 手动复制公钥
如果没有 ssh-copy-id 工具,可以手动复制公钥:
- 查看公钥内容:
bash
cat ~/.ssh/id_rsa.pub - 登录 VPS:
bash
ssh root@<VPS_IP> - 在 VPS 上创建
.ssh目录(如果不存在):bashmkdir -p ~/.ssh && chmod 700 ~/.ssh - 编辑
authorized_keys文件并粘贴公钥:bashecho "公钥内容" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
3. 测试无密码登录
在本地客户端运行以下命令测试无密码登录:
bash
ssh root@<VPS_IP>
- 如果能直接登录,说明无密码登录配置成功。
4. 禁用密码登录
为了安全性,可以禁用密码登录,仅允许使用 SSH 密钥登录。
(1) 编辑 SSH 配置文件
在 VPS 上编辑 SSH 配置文件:
bash
sudo nano /etc/ssh/sshd_config
- 修改以下配置:
PasswordAuthentication no PubkeyAuthentication yes - 确保以下配置已启用:
PermitRootLogin prohibit-password # 禁止 root 用户使用密码登录
(2) 重启 SSH 服务
保存文件后重启 SSH 服务:
bash
sudo systemctl restart sshd
(3) 测试连接
在本地客户端重新测试登录:
bash
ssh root@<VPS_IP>
- 如果无密码登录成功,说明配置生效。
二、SSH 安全加固
在配置无密码登录后,还可以通过以下措施加强 SSH 的安全性。
1. 修改 SSH 默认端口
将默认端口从 22 改为其他端口,以减少被扫描的风险。
(1) 编辑 SSH 配置文件
打开 SSH 配置文件:
bash
sudo nano /etc/ssh/sshd_config
- 找到以下配置并修改端口号(如 2222):
Port 2222
(2) 修改防火墙规则
确保防火墙允许新端口通过。例如,使用 ufw:
bash
sudo ufw allow 2222/tcp
- 测试新端口是否可用:
bash
ssh -p 2222 root@<VPS_IP>
(3) 重启 SSH 服务
bash
sudo systemctl restart sshd
2. 禁用 Root 用户登录
为了避免 root 用户被暴力破解,可以禁用其登录,改用普通用户登录后切换到 root。
(1) 编辑 SSH 配置文件
修改以下项:
bash
PermitRootLogin no
(2) 创建普通用户
- 添加新用户:
bash
adduser your_user - 将新用户加入 sudo 组:
bash
usermod -aG sudo your_user
(3) 配置无密码登录
为新用户配置 SSH 无密码登录,与上述步骤相同。
3. 使用 Fail2Ban 防止暴力破解
Fail2Ban 是一款防护工具,可自动检测并禁止多次失败的登录尝试。
(1) 安装 Fail2Ban
bash
sudo apt install fail2ban # Ubuntu/Debian
sudo yum install epel-release && sudo yum install fail2ban # CentOS
(2) 配置 Fail2Ban
编辑配置文件:
bash
sudo nano /etc/fail2ban/jail.local
添加以下内容:
ini
[sshd]
enabled = true
port = 2222 # 如果修改了 SSH 端口,需更新此处
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 600
(3) 启动 Fail2Ban
bash
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
4. 限制 SSH 访问 IP
如果你的 SSH 登录只需要从特定 IP 登录,可以限制登录来源。
(1) 配置防火墙规则
例如使用 ufw:
bash
sudo ufw allow from <your_ip> to any port 2222
sudo ufw enable
(2) 使用 hosts.allow 和 hosts.deny
- 编辑
/etc/hosts.allow文件,允许特定 IP:sshd: <your_ip> - 编辑
/etc/hosts.deny文件,禁止其他 IP:sshd: ALL
5. 定期更新系统
保持系统和软件更新以修复已知漏洞:
bash
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS
6. 启用 SSH 协议版本 2
确保只使用更安全的 SSH 协议版本 2:
bash
Protocol 2
在 /etc/ssh/sshd_config 中检查确认。
三、总结
通过以下步骤,您可以在香港VPS服务器上实现无密码登录并加固 SSH 安全性:
- 配置 SSH 无密码登录。
- 禁用密码登录并限制 Root 用户登录。
- 修改默认端口,启用防火墙规则。
- 配置 Fail2Ban 防止暴力破解。
- 限制访问 IP,确保只有可信客户端能连接。
- 定期更新系统,保持安全。
通过这些措施,可以显著增强服务器的安全性,降低被攻击的风险。
- Tags:
- 香港VPS服务器,VPS服务器,香港VPS
上一篇:香港站群服务器购买后SSH被暴力破解后如何进行诊断与防御
下一篇:香港站群服务器操作系统时间同步失败的原因及修复
