给香港 Linux 主机加固 SSH,优先处理身份验证和访问范围,而不是先改默认端口。香港主机Linux SSH远程登录安全加固的稳妥顺序是:先配置并验证密钥,再禁止密码和 root 远程登录,随后限制来源地址,最后检查日志与防护规则。操作期间保留现有 SSH 会话,避免配置错误后无法连回主机。
先准备密钥,确认新会话能登录
在管理电脑上生成 Ed25519 密钥对:ssh-keygen -t ed25519。按提示设置密钥文件和口令;私钥留在本地,不要上传到服务器。若客户端或服务器版本不支持该算法,再按实际兼容情况选择其他受支持的密钥类型。
- 先用当前账号连接主机,再执行 ssh-copy-id 用户名@主机地址,将公钥写入远端授权文件。Windows 环境也可使用 OpenSSH 客户端,或按客户端说明安装公钥。
- 检查远端目录权限:用户家目录下的 .ssh 通常设为 700,authorized_keys 通常设为 600,所有者应是该登录用户。
- 另开一个终端,用密钥重新登录。确认能进入 shell 后,再调整密码认证选项;不要先关闭当前已登录会话。
优先修改的 sshd 配置
编辑服务器的 /etc/ssh/sshd_config,先查看文件中是否有 Include 指令,以及它引入的配置片段;部分系统还会从 /etc/ssh/sshd_config.d/ 读取设置。避免在多个文件里重复写相反选项。下面是常见加固方向,具体选项应以主机安装的 OpenSSH 版本为准:
- PubkeyAuthentication yes:允许公钥认证。
- PasswordAuthentication no:确认密钥登录正常后,关闭 SSH 密码认证。
- KbdInteractiveAuthentication no:不需要交互式认证时关闭;若环境依赖 PAM 或双因素认证,先核实登录流程,不能照抄。
- PermitRootLogin no:禁止 root 直接远程登录,改用普通账号登录后通过 sudo 管理。
- AllowUsers 用户名:只允许指定账号登录。多人管理时逐一列出实际需要的账号,避免误删运维入口。
密码认证关闭后,忘记密钥可能导致无法登录,因此应保留安全的备用管理方式,例如服务商提供的控制台或救援入口,并确认其确实可用。
限制来源地址并安全应用配置
防火墙先放行,再收紧
如果管理网络有固定出口地址,可在主机防火墙或云端访问规则中,只允许该地址访问 SSH 端口。Ubuntu 常见的 UFW 可用 ufw allow from 管理端IP to any port 22 proto tcp;使用 firewalld 的系统则通过对应的 rich rule 或区域规则实现。端口号应替换为当前 sshd 实际监听端口。先添加允许规则,再删除宽泛规则,并从另一条网络路径确认管理入口仍可用。
改端口只能减少自动化扫描带来的噪声,不等于身份验证加固。若确需改动,必须同步更新主机防火墙、云防火墙和客户端连接参数,否则会造成断连。
检查后重载,不要直接重启碰运气
- 执行 sshd -t 检查语法;部分发行版命令也可写作 ssh -t 并不适用,务必使用 sshd 配置检查命令。
- 用 sshd -T 查看生效选项,核对密码认证、root 登录和允许用户设置;如有 Include 文件,应一并确认最终结果。
- 语法无误后重载服务。服务名依系统而异,Debian、Ubuntu 常见为 ssh,其他发行版常见为 sshd;可先用 systemctl status 确认名称。
- 在原会话保持连接的情况下,新开终端测试密钥登录,再测试未授权账号或密码登录是否被拒绝。确认正常后再关闭旧会话。
持续检查:日志、账号与自动封禁
定期查看系统认证日志,Ubuntu 常见位置是 /var/log/auth.log,部分发行版使用 /var/log/secure,也可通过 journalctl -u ssh 或 journalctl -u sshd 查询。关注重复失败、陌生来源和不认识的账号。Fail2ban 可按失败次数临时封禁来源,适合暴露在公网且存在大量扫描的主机;它不能替代密钥、账号限制和防火墙规则,也要留意误封管理地址。落实香港主机Linux SSH远程登录安全加固时,先保证可恢复,再收紧权限,往往比单纯换端口更有效。
常见问题
必须更改 SSH 默认端口吗?
不必须。改端口可减少常见扫描日志,但不能阻止针对性访问。优先使用密钥认证、禁用 root 远程登录并限制来源地址。
关闭密码登录后还能用 sudo 吗?
通常可以。SSH 密钥用于建立远程会话,sudo 则依据本机账户和 sudoers 配置授权,两者是不同环节。
改完配置无法连接怎么办?
不要关闭仍可用的旧会话;先检查 sshd -t、服务日志及防火墙规则。若已失去 SSH 访问,通过已确认可用的主机控制台或救援方式恢复配置。