Ubuntu 远程管理

不建议开放 root 密码登录

保持 PermitRootLogin prohibit-password 或 PermitRootLogin no,使用普通用户的 SSH key 登录后再通过 sudo 提权。PermitRootLogin yes 会允许 root 密码登录,显著扩大暴力破解和凭据泄露风险。

如确实需要 root 通过密钥登录,可创建独立配置片段:

sudo install -m 0755 -d /etc/ssh/sshd_config.d
printf '%s\n' 'PermitRootLogin prohibit-password' | sudo tee /etc/ssh/sshd_config.d/20-root-login.conf
sudo sshd -t
sudo systemctl reload ssh

先在另一个终端验证新会话能够登录,再关闭当前连接,避免错误配置导致远程锁定。

Ubuntu 22.04 设置静态 IP

Ubuntu Server 通常使用 Netplan。配置文件名和 renderer 以 /etc/netplan/ 中的现有文件为准,网卡名通过 ip link 查询。

  1. 打开终端并输入以下命令以编辑网络配置文件:
sudo vim /etc/netplan/00-installer-config.yaml
  1. 文件中应该有以下内容:
network:
  version: 2
  ethernets:
    enp4s0f2:
      dhcp4: true

其中 enp4s0f2 是示例网卡名,必须替换为实际名称。 3. 将内容替换为:

network:
  version: 2
  ethernets:
    enp4s0f2:
      dhcp4: false
      addresses:
        - 192.0.2.10/24
      routes:
        - to: default
          via: 192.0.2.9
      nameservers:
        addresses:
          - 192.0.2.9
          - 1.1.1.1
  1. 保存并关闭文件。
  2. 输入以下命令以应用更改:
sudo netplan generate
sudo netplan try

远程修改网络时优先使用 netplan try,它会在未确认时自动回滚;确认无误后再执行 sudo netplan apply。

  1. 确认静态ip是否设置成功:
ip addr show enp4s0f2
ip route
resolvectl status

SSH 登录失败的几个可能

export_61ak6q.png 使用 Terminus 登录,一直无法登录成功。查看 Linux 上面的/var/log/secure 日志,发现报错

本次现象在补齐 /etc/hosts 映射后恢复,但“缺少主机名映射”通常只会导致解析变慢,不应直接判定为所有 SSH 登录失败的通用原因。排查时应同时检查:

sudo journalctl -u ssh --since -10m
sudo sshd -t
getent hosts "$(hostname)"
ip route

若日志明确显示主机名解析、UseDNS、HostbasedAuthentication 或 Match 规则相关错误,再修正 /etc/hosts;认证失败、路由错误和防火墙问题应分别处理。