服务器远程登录设置
- 云服务器
- 2025-08-16
- 7
开启SSH服务,配置默认端口及用户权限即可
主流远程登录方案及配置步骤
Linux/Unix 系统 SSH 协议
| 关键步骤 | 操作指令/配置项 | 说明 |
|---|---|---|
| 基础安装 | sudo apt install openssh-server (Debian/Ubuntu) sudo yum install openssh-server (CentOS/RHEL) | 安装 OpenSSH 服务端 |
| 核心配置文件 | /etc/ssh/sshd_config | 修改以下参数提升安全性: • PermitRootLogin no • PasswordAuthentication no • PubkeyAuthentication yes |
| 密钥生成 | ssh-keygen -t rsa | 本地生成公私钥对,将公钥上传至服务器 ~/.ssh/authorized_keys |
| ️ 防火墙放行 | sudo ufw allow 22 (UFW) sudo firewall-cmd --add-port=22/tcp (FirewallD) | 开放 SSH 默认端口(建议后续改为非标准端口) |
| 重启服务 | sudo systemctl restart sshd | 使配置生效 |
Windows 系统 RDP 协议
| 关键步骤 | 操作路径/命令 | 说明 |
|---|---|---|
| 启用远程桌面 | 系统属性 → 远程 → 允许远程连接到此计算机 | 确保勾选「仅允许运行使用网络级别身份验证…」 |
| ️ 高级设置 | gpedit.msc → 计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 用户权限分配 | 添加用户到 “允许通过远程桌面服务登录” |
| 账户管理 | 新建专用账号(非管理员) | 避免使用 Administrator 直接登录 |
| 防火墙规则 | 入站规则 → 新建规则 → TCP 3389 端口 | 若需增强安全可修改为其他高位端口 |
跨平台方案 VNC
| 工具选择 | 特点 | 适用场景 |
|---|---|---|
| RealVNC | 商业软件,稳定性强 | 图形化操作需求高的生产环境 |
| TigerVNC | 开源轻量级 | 临时应急维护 |
| xrdp | Windows + Xorg 混合方案 | Linux 模拟 Windows RDP |
安全加固最佳实践
基础防护措施
| 风险点 | 解决方案 | 实施效果 |
|---|---|---|
| 暴力免费攻破 | 启用失败锁定机制 设置复杂密码策略 | 阻断字典攻破尝试 |
| 明文传输窃听 | 强制使用 SSH/TLS 加密通道 | 防止中间人攻破 |
| 暴露管理端口 | 修改默认端口(如 SSH→2222,RDP→3390) | 降低被扫描概率 |
| 闲置会话截持 | ⏰ 设置超时自动断开(ClientAliveInterval) | 清理无效连接 |
进阶防护方案
| 技术手段 | 实现方式 | 优势 |
|---|---|---|
| 双因素认证 | Google Authenticator / YubiKey | 增加动态验证码校验 |
| IP白名单 | AllowUsers root@192.168.1. (SSH) | 限定可信来源地址 |
| 日志审计 | journalctl -u sshd (Linux) 事件查看器→Microsoft-Windows-TerminalServices-RemoteConnectionManager (Win) | 追踪异常登录行为 |
常见问题与解答
Q1: 为什么建议修改SSH/RDP默认端口?
A:
高手常使用自动化脚本扫描全网设备的常见端口(如22/3389),修改为自定义高位端口(如5位数随机数)可显著降低被暴力免费的概率,配合防火墙仅放行新端口,形成双重屏障。


Q2: 如何解决”Connection refused”错误?
A:
按以下顺序排查:
1️⃣ 检查目标端口是否已在防火墙/安全组放行
2️⃣ 确认对应服务已启动(systemctl status sshd / Get-Service State)
3️⃣ 验证配置文件语法正确性(sshd -t / Test-NetConnection)
4️⃣ 查看系统日志定位拒绝原因(/var/log/auth.log / 事件查看器)

️ 注意:云服务器还需检查安全组规则,本地设备需关闭