博客

SSH操作指令

·更新于 5/11/2026

操作指令汇总

  1. 创建新普通用户并赋予 sudo 权限 bash
  2. 创建新用户(例如 newadmin) sudo adduser newadmin
  3. 将新用户添加到 sudo 组 sudo usermod -aG sudo newadmin
  4. 验证新用户是否在 sudo 组中(输出应包含 sudo)
    groups newadmin
  5. 为新用户配置 SSH 公钥(推荐) bash sudo mkdir -p /home/newadmin/.ssh echo "ssh-rsa AAA...(你的公钥)" | sudo tee /home/newadmin/.ssh/authorized_keys sudo chown -R newadmin:newadmin /home/newadmin/.ssh sudo chmod 700 /home/newadmin/.ssh sudo chmod 600 /home/newadmin/.ssh/authorized_keys
  6. 删除旧普通用户 bash
  • 先列出所有普通用户(UID ≥ 1000 且不是 nobody) awk -F: '$3>=1000 &&$1!="nobody" {print $1}' /etc/passwd
  • 确认用户名后删除(例如 olduser,包含家目录和邮件池) sudo userdel -r 旧用户名
  • 禁用 root 密码登录 bash
    编辑 SSH 配置文件 sudo nano /etc/ssh/sshd_config
    找到或添加以下行(确保没有被 # 注释) PermitRootLogin no
    保存后重启 SSH 服务 sudo systemctl restart ssh
  • 后续检查指令 查看用户和权限信息 bash
    当前登录的用户名 whoami
    当前用户所属组 groups
    当前用户是否有 sudo 权限(应列出可执行的命令) sudo -l
    列出系统中所有普通用户(UID ≥ 1000,排除 nobody) awk -F: '$3>=1000 &&$1!="nobody" {print $1}' /etc/passwd
    查看 /home 目录下的用户家目录(交互式用户) ls /home
    验证 SSH 配置是否生效 bash
    测试 SSH 配置文件语法是否正确 sudo sshd -t
    查看 SSH 服务状态 sudo systemctl status ssh
    从本机测试 root 密码登录是否已被拒绝(应提示 Permission denied)
    ssh root@localhost -v

重要提醒

在禁用 root 密码登录之前,必须确保你已有一个能够正常使用 sudo 的普通用户,并且能够通过 SSH(密码或密钥)登录该普通用户。
删除旧用户前,请确认该用户没有正在运行的重要进程,且其数据已备份或不再需要。
始终保留一个活跃的 SSH 会话,不要在配置变更后立即关闭所有连接,先另开一个终端测试新配置是否有效,避免被锁在服务器外。

评论(0

需要登录后才能评论。

暂无评论。