2025/5/3小于 1 分钟
#!/bin/sh
# 该脚本必须以 root 权限运行
if [ "$(id -u)" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
username="blog-user"
# 创建 blog-user 用户
useradd \
-c "Blog User, used to maintain blog resources and SSL certificates" \
-m \
-s "/bin/sh" \
"${username}"
# 确保 blog-user 用户无密码且无法通过密码登录
passwd -dlq "${username}"
# 生成 ssh 密钥,算法为 ed25519,文件名为 blog_user
ssh-keygen \
-t ed25519 \
-C "Blog User" \
-N "" \
-f "./blog_user"
# 获取 blog-user 的用户目录
user_dir=$(getent passwd "${username}" | cut -d ':' -f6)
# 将公钥添加到 blog-user 用户的 authorized_keys 文件中
mkdir -p "${user_dir}/.ssh"
cat "./blog_user.pub" >>"${user_dir}/.ssh/authorized_keys"
# 提醒用户保存私钥
echo "Please save the private key file: blog_user"
# 退出
exit 0