sudo
权限(以便需要时切换 root)。修改 /etc/ssh/sshd_config
:
bashsudo nano /etc/ssh/sshd_config
找到 PermitRootLogin
并修改为:
PermitRootLogin no
保存(Ctrl+O
)并退出(Ctrl+X
)。
重启 SSH 服务:
bashsudo systemctl restart sshd
验证 root 是否无法 SSH 登录:
bashssh root@your_server_ip
(应该会提示 Permission denied
)
bashsudo adduser username
(替换 username
为你想要的用户名,如 user1
)
按提示设置密码和其他信息(可留空)。
bashsudo usermod -aG sudo username
(-aG
表示追加到 sudo
组,不影响其他组)
bashgroups username
应显示 username : username sudo
。
如果使用密码登录(而非密钥),检查 /etc/ssh/sshd_config
:
bashsudo nano /etc/ssh/sshd_config
确认以下配置:
PasswordAuthentication yes
(如果已改为 no
,需改回 yes
或使用 SSH 密钥登录)
bashsudo systemctl restart sshd
bashssh username@your_server_ip
输入密码后应成功登录。
bashsudo -l
或执行:
bashsudo whoami
应返回 root
,并提示输入当前用户密码。
bashssh-keygen -t ed25519
(默认保存在 ~/.ssh/id_ed25519
和 ~/.ssh/id_ed25519.pub
)
bashssh-copy-id username@your_server_ip
或手动复制:
bashcat ~/.ssh/id_ed25519.pub | ssh username@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
修改 /etc/ssh/sshd_config
:
PasswordAuthentication no
重启 SSH:
bashsudo systemctl restart sshd
操作 | 命令 |
---|---|
禁用 root 登录 | PermitRootLogin no + sudo systemctl restart sshd |
创建用户 | sudo adduser username |
赋予 sudo 权限 | sudo usermod -aG sudo username |
允许 SSH 登录 | 确保 PasswordAuthentication yes 或配置 SSH 密钥 |
测试登录 | ssh username@server_ip |
安全建议:
PasswordAuthentication no
)。sudo
权限。/etc/sudoers
和 /etc/ssh/sshd_config
。这样既保证了安全性,又允许通过普通用户管理服务器。
本文作者:任浪漫
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!