TG咨询

NEWS & INSIGHTS

Linux远程登录配置的7个步骤,密钥与密码怎么选?

本文以 Linux 主机远程登录为主线,梳理账号、网络、SSH 服务、认证方式、防火墙和验证等 7 个配置步骤,并比较 SSH 密钥与密码登录的安全性、便利性及适用场景。

Linux远程登录配置的7个步骤,密钥与密码怎么选?

配置 Linux 主机远程登录,真正容易出问题的通常不是输入一条 SSH 命令,而是账号权限、监听端口、认证方式和防火墙没有同时对齐。无论是维护办公室里的 Ubuntu 主机,还是管理云平台上的 Rocky Linux 实例,都建议按下面 7 个步骤逐项确认,避免修改配置后把自己锁在系统外。

一、先确认远程登录条件

开始前需要准备四项信息:目标主机的可达地址、SSH 端口、可用账号,以及对应的密码或私钥。Linux 主机远程登录一般使用 SSH,默认端口是 TCP 22,但管理员可能将其调整为其他端口。端口改变并不等于安全性自动提高,真正重要的是认证策略、访问来源和系统更新。

如果主机位于家庭或办公内网,外部设备通常不能直接访问内网地址,可能还需要 VPN、路由转发或云平台的安全组规则。先确认网络路径,再排查 SSH 服务,效率更高。

二、创建专用登录账号

不要让多人共用 root,也不建议把日常操作全部放在 root 会话中。使用管理员已有的本地账号执行以下操作,用户名可按实际环境替换:

  1. 执行 sudo useradd -m -s /bin/bash deployer 创建账号。
  2. 需要管理软件和服务时,将其加入系统管理员组。例如 Debian、Ubuntu 常用 sudo usermod -aG sudo deployer;RHEL、Rocky Linux 常用 sudo usermod -aG wheel deployer。
  3. 为账号设置临时密码:sudo passwd deployer。如果最终采用密钥认证,密码也应使用较长、唯一的组合。

账号创建后,先在本机通过控制台或当前会话确认 sudo 权限正常,再进行远程配置。

三、检查并启动 SSH 服务

不同发行版的服务名称通常都是 sshd,但 Debian 和 Ubuntu 的管理命令也常写作 ssh。可以先检查服务状态:

sudo systemctl status ssh 或 sudo systemctl status sshd

若服务未安装,可根据发行版安装 OpenSSH 服务器软件包。安装完成后执行 sudo systemctl enable --now ssh,或将 ssh 替换为 sshd。随后使用 sudo ss -tlnp | grep ssh 查看监听地址和端口。若只监听 127.0.0.1,远程设备将无法连接,需要检查 SSH 配置中的 ListenAddress。

四、决定使用密钥还是密码

方式优势不足适用情况
密码认证部署简单,不需要管理私钥容易遭遇撞库、暴力尝试和钓鱼临时维护、测试环境或无法部署密钥的设备
SSH 密钥可配合口令保护私钥,适合自动化和多人分权私钥丢失或未备份会影响登录长期运维、云主机、脚本任务和生产环境

多数长期运行的 Linux 主机远程登录更适合采用公钥认证。密钥登录不是“完全不需要密码”:私钥文件可以设置口令,登录时由 SSH 客户端解锁。密码认证则更依赖账号密码本身,若保留它,应配合强密码、登录限制和失败尝试控制。

五、生成并部署 SSH 密钥

在客户端生成密钥

在 Linux、macOS 或安装了 OpenSSH 的 Windows 环境中,可执行 ssh-keygen -t ed25519。Ed25519 密钥生成速度快、文件较小,当前常见 OpenSSH 版本都支持;如果旧设备不支持,可按兼容要求选择 RSA。

生成过程中建议为私钥设置口令。公钥通常位于 ~/.ssh/id_ed25519.pub,私钥是没有 .pub 后缀的文件,不能上传到服务器,也不能发送给他人。

把公钥放到目标账号

  1. 在目标主机创建目录:mkdir -p ~/.ssh。
  2. 将本地公钥内容追加到目标主机的 ~/.ssh/authorized_keys。
  3. 修正权限:chmod 700 ~/.ssh,并执行 chmod 600 ~/.ssh/authorized_keys。
  4. 确认文件所有者属于目标账号,否则 sshd 可能因权限不安全而拒绝认证。

如果系统启用了 SELinux,移动或手动创建文件后还可能需要使用 restorecon 修正安全上下文,具体命令取决于发行版策略。

六、调整 sshd 与防火墙配置

配置文件通常是 /etc/ssh/sshd_config。修改前先备份,并用 sudo sshd -t 检查语法。采用密钥后,可以考虑设置 PasswordAuthentication no,但必须先在另一个终端验证密钥能够登录;否则配置重载后可能失去访问入口。

是否关闭 PermitRootLogin 要结合现有管理方案。多数普通运维场景可禁止 root 直接 SSH 登录,改用普通账号配合 sudo。防火墙方面,只放行实际 SSH 端口和必要来源。例如使用 UFW 时可执行 sudo ufw allow 22/tcp,使用 firewalld 时可通过预定义服务或端口规则放行。规则名称和命令应以当前系统配置为准。

七、验证登录并保留回退方案

  1. 保持当前控制台或 SSH 会话不要关闭。
  2. 从另一台设备测试密码或密钥登录,确认账号、端口和权限均正常。
  3. 检查日志。Ubuntu 常见位置是 /var/log/auth.log,RHEL 系列常见位置是 /var/log/secure,也可使用 journalctl -u sshd 查询。
  4. 确认成功后,再决定是否关闭密码认证,并记录密钥归属、创建时间和撤销方式。

若出现“Permission denied”,优先检查用户名、authorized_keys 内容、文件权限、私钥口令和 sshd 配置;若出现连接超时,则先检查路由、安全组、防火墙和监听端口。不要反复修改多个因素,否则很难定位根因。

Linux远程登录配置的7个步骤,密钥与密码怎么选?

密钥与密码的实际选择建议

个人临时维护一台隔离测试机,密码认证可以降低初始配置成本,但应限制来源并避免使用简单密码。多人共同维护或需要脚本自动部署时,建议每人使用独立密钥,离职、换岗或设备丢失时只撤销对应公钥,不必更换所有人的密码。生产环境通常采用密钥认证,并结合 VPN、跳板机、最小权限账号和多因素认证。

最终,Linux 主机远程登录的安全性不是由“换端口”单独决定的,而是由账号隔离、认证方式、网络边界、日志审计和及时撤销共同决定。完成配置后,应定期删除不用的公钥,更新系统,并复查防火墙规则。

常见问题

1. 密钥登录失败但密码可以登录,怎么办?

检查客户端使用的私钥、服务器上的 authorized_keys 内容、目录和文件权限,以及目标账号是否正确。再查看 sshd 日志,通常能看到更具体的拒绝原因。

2. 修改端口后是否必须关闭 22 端口?

如果新端口已经验证可用,且没有业务需要保留 22 端口,可以关闭旧端口,减少暴露面。修改防火墙前应保留当前管理会话。

3. 私钥丢失后还能登录吗?

如果服务器仍允许密码登录,或还有其他管理员密钥,可以进入账号并删除旧公钥、部署新公钥。若没有任何可用认证方式,通常需要通过云平台控制台、虚拟机控制台或现场管理恢复。

4. 是否应完全禁止密码认证?

在所有管理员都已验证密钥、拥有备用恢复渠道,并确认自动化任务不会依赖密码后,可以关闭。否则应先完善回退方案,再进行调整。

RELATED ARTICLES

相关文章

新手修改服务器SSH端口前要警惕远程连接中断2026-09-22

新手修改服务器SSH端口前要警惕远程连接中断

本文以 Ubuntu Server 和 OpenSSH 为例,介绍服务器SSH端口修改方法的安全流程,包括备份配置、放行防火墙、校验语法、保留旧端口测试以及失败后的恢复措施,帮助新手降低远程连接中断风险。

服务器修改SSH端口的5个常见误区与避坑建议2026-09-22

服务器修改SSH端口的5个常见误区与避坑建议

服务器SSH端口修改方法并不只是改动一个数字,还涉及SSH配置文件、防火墙、SELinux、云安全组和连接验证。本文梳理5个常见误区,并给出适用于常见Linux服务器的安全操作步骤。

Linux环境初始化故障排查:2026年5个解决方法2026-09-22

Linux环境初始化故障排查:2026年5个解决方法

海外服务器Linux环境初始化失败,常见原因包括cloud-init未完成、网络或DNS异常、软件源不可用、SSH配置错误以及磁盘空间不足。本文按照日志、网络、软件包、远程登录和磁盘服务五个方向,给出可执行的排查步骤。

海外服务器宕机监控要花多少钱,2026年方案怎么选?2026-09-22

海外服务器宕机监控要花多少钱,2026年方案怎么选?

2026年选择海外服务器宕机监控方案,成本通常取决于探测频率、节点数量、监控对象、通知方式和是否需要业务级检查。本文对比托管式服务、自建监控和云平台组合方案,并给出预算范围、选型步骤及常见问题。

Linux主机无法远程登录,2026该从哪里排查?2026-09-22

Linux主机无法远程登录,2026该从哪里排查?

Linux主机远程登录失败时,应先根据超时、拒绝连接和认证失败等现象定位层级,再依次检查网络、安全组、SSH服务、端口、账号权限与密钥配置。本文给出一套可执行的排查顺序,并说明云主机、局域网服务器和修改配置后的恢复方法。