新装系统之后默认root用户如何添加管理员用户并更改

假设现在是 root 用户 登录的 Ubuntu 22.04。


总目标(你做完会得到什么)

  • ✅ 一个普通用户:admin
  • admin 拥有 sudo 权限
  • ✅ SSH 使用 密钥登录
  • 禁止密码 SSH 登录
  • ✅ 不会把你自己锁死在服务器外

第 1 步:创建新用户 admin

adduser admin

过程中会:

  • 要你设置 admin的登录密码(这是 sudo 用的,不是 SSH)
  • 其他信息可以直接回车跳过
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] y

验证用户存在:

id admin

第 2 步:给 admin sudo 权限

Ubuntu 标准做法:加入 sudo

usermod -aG sudo admin

验证:

groups admin

你应该看到输出里包含:

sudo

第 3 步:准备 SSH 密钥登录(⚠️关键步骤)

这一步没完成之前,绝对不要关当前 root SSH 会话

3.1 在你【本地电脑】生成 SSH 密钥(如果你已经有可跳过)

在你自己的电脑上执行(不是服务器):

ssh-keygen -t ed25519 -C "admin@JDCloud"

一路回车即可(是否设置 passphrase 看你习惯)。

生成后查看公钥:

cat ~/.ssh/id_ed25519.pub

复制这一整行(以 ssh-ed25519 开头)。


3.2 把公钥放到服务器的 admin 用户

在服务器上执行:

mkdir -p /home/skflip/.ssh
nano /home/skflip/.ssh/authorized_keys

把你刚才复制的 公钥粘进去,保存

Control+O
Enter

退出

Control+X

然后修正权限(非常重要):

chown -R skflip:skflip /home/skflip/.ssh
chmod 700 /home/skflip/.ssh
chmod 600 /home/skflip/.ssh/authorized_keys

3.3 测试 skflip 能否用密钥登录(‼️先测试)

新开一个终端窗口(不要断开当前 root 会话):

ssh skflip@你的服务器IP

输入passphrase后,直接登录成功

但是都有密钥了,还要密码,不优雅,mac怎么弄?有办法,放到钥匙串里:

第 1 步:确认你用的是哪种私钥

在 Mac 本地终端执行:

ls ~/.ssh

通常你会看到类似:

  • id_ed25519
  • id_ed25519.pub

下面以 ed25519 为例。


第 2 步:把私钥加入 macOS Keychain(关键)

执行这一条(这是核心):

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

然后:

  • 输入一次 passphrase
  • macOS 会把它安全地存进 钥匙串(Keychain)

验证是否已加入:

ssh-add -l

如果你看到类似:

256 SHA256:xxxxxxx id_ed25519 (ED25519)

说明已经成功。


第 3 步:配置 SSH 自动使用 Keychain(强烈推荐)

编辑(或创建)你的 SSH 客户端配置文件:

nano ~/.ssh/config

加入下面这段(可以直接粘):

Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519

保存退出。

👉 这一步的作用是:

  • 每次 ssh 自动加载密钥
  • 不再反复执行 ssh-add

第 4 步:测试(现在应该完全免输入)

直接测试:

ssh admin@你的服务器IP

不会再让你输入 passphrase
✅ 也不会要密码(你已经禁用了密码登录)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注