SSH操作指令
·更新于 5/11/2026
操作指令汇总
- 创建新普通用户并赋予 sudo 权限 bash
- 创建新用户(例如 newadmin) sudo adduser newadmin
- 将新用户添加到 sudo 组 sudo usermod -aG sudo newadmin
- 验证新用户是否在 sudo 组中(输出应包含 sudo)
groups newadmin - 为新用户配置 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
- 删除旧普通用户 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)
需要登录后才能评论。
暂无评论。