购买云服务器之后要做的

51 阅读2分钟
  • 创建可以执行sudo的普通用户

背景: 服务器系统是使用 Rocky Linux 系统, 应该禁止root远程登录, 禁用密码登录, 改为密钥登录

1. 创建普通用户禁止root用户远程登录

# 添加一个普通用户
sudo adduser xxxuser
# 查看用户密码情况, 用户不设置密码, 则密码是被锁定的
passwd -S xxxuser
# 给用户设置密码, 建议至少12位, 包含大小写字母, 数字, 特殊符号
passwd xxxuser

2. 添加xxxuser用户到用户组 wheel, 该用户组可以执行sudo, -aG 表示append追加到指定组

usermod -aG wheel xxxuser

3. 测试是否设置成功

# 执行sudo命令, 返回root就算成功
sudo whoami
  • 禁止root远程登录, 禁止密码登录, 开启密钥登录

1. 使用 xshell 的 ED25519 算法生成公钥和私钥

2. 在服务器 xxxuser 的 home 目录下新建 .ssh 目录, 在 .ssh 目录下新建 authorized_keys

# 设置目录权限
chmod 700 .ssh
# 设置keys文件权限
chmod 600 authorized_keys

3. 在 authorized_keys 文件中写入公钥内容

4. 可以去xshell中使用密钥进行登录测试看是否成功登录

5. 修改 SSH 配置

sudo vim /etc/ssh/sshd_config

# 禁用密码登录(确保密钥已测试成功再启用!)
PasswordAuthentication no

# 禁止 root 通过 SSH 登录
PermitRootLogin no

# 启用公钥认证(通常默认开启)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

# 更改 SSH 端口, 建议 1024--65535 之间
Port 13559

然后还要把 13559 这个新 ssh 端口, 在防火墙 firewall 放开

sudo firewall-cmd --permanent --add-port=13559/tcp

6. 重启sshd服务

sudo systemctl restart sshd

如果绑定新ssh端口失败, 极有可能是SELinux的限制, 需要执行

sudo semanage port -a -t ssh_port_t -p tcp 13559