Jon*_*oux 5 linux ssh redhat root
我们刚刚部署了几个 Linux 服务器。每个系统管理员都将在服务器上拥有自己的帐户(即:jsmith),并将使用 SSH 与证书进行连接,该证书将放入其主目录中的“authorized_keys”文件中。一旦连接到服务器,如果他们想发出提升的命令,他们会这样做:
sudo ifconfig
Run Code Online (Sandbox Code Playgroud)
然后他们将输入 root 密码。
我现在想知道的是管理该 root 密码的最佳实践。我应该定期更换吗?我如何与系统管理员共享新密码?
**当然我会在 SSH 中禁用 root 登录。
sam*_*mir 24
如果他们使用 sudo,那么它会询问他们的密码而不是 root 密码,因此不需要更改 root 密码。只要确保在 /etc/sudoers 文件中给他们适当的权限。
使用 sudo 时,您无需担心 root 密码。也许,我会建议通过发出禁用 root 密码
sudo passwd -l root
Run Code Online (Sandbox Code Playgroud)
不过,在此之前,请确保您拥有具有所有权限的相关系统用户。
您始终可以通过发出来获得 root 控制台
sudo -i
Run Code Online (Sandbox Code Playgroud)
以下是我用来配置服务器的小脚本。
#!/bin/bash
set -e
addgroup sysadmin
adduser newuser
usermod -a -G sysadmin newuser
chmod u+w /etc/sudoers
echo "\n# Added by <YOUR-NAME>\n%sysadmin ALL=(ALL) ALL" >> /etc/sudoers
chmod u-w /etc/sudoers
su newuser -c "mkdir /home/newuser/.ssh"
su newuser -c "chmod 0700 /home/newuser/.ssh"
su newuser -c 'echo "<YOUR-SSH-KEY>" >> /home/newuser/.ssh/authorized_keys'
su newuser -c "chmod 0644 /home/newuser/.ssh/authorized_keys"
Run Code Online (Sandbox Code Playgroud)
您可以根据自己的需要进行修改。使其具有交互性,使用用户变量等:)
享受!