Root 帳號擁有最高權限,是駭客暴力破解的首選目標。禁用 Root 遠端 SSH 登入、改用一般用戶搭配 sudo 或 su 切換,是 Linux 伺服器上線必做的安全基線動作。
# 新增用戶 adminuser
useradd adminuser
# 設定密碼
passwd adminuser
# 加入 wheel 群組(可使用 sudo)
usermod -aG wheel adminuser
# 另開一個終端機測試
ssh adminuser@your_server_ip
# 測試 sudo 權限
sudo whoami
# 應顯示 root
重要:確認新用戶能正常登入且提權成功後,再進行下一步,避免把自己鎖在外面。
vi /etc/ssh/sshd_config
找到並修改:
# 預設為 yes 或註解掉
PermitRootLogin no
# 建議同時啟用以下安全設定
PubkeyAuthentication yes # 僅允許金鑰認證(更安全)
PasswordAuthentication no # 禁用密碼認證(需先設定好金鑰)
PermitEmptyPasswords no # 禁止空密碼
MaxAuthTries 3 # 限制嘗試次數
# CentOS 7+
systemctl restart sshd
# CentOS 6
service sshd restart
# 或
/etc/init.d/sshd restart
ssh root@your_server_ip
# 應提示 Permission denied
sudo 命令:推薦,有日誌審計su - root:切換到 root 環境,需 root 密碼sudo -i:取得 root 互動式 ShellPasswordAuthentication no,配合 ssh-copy-id 部署公鑰。Port 2222,減少自動掃描噪音。AllowUsers adminuser user2。ClientAliveInterval 300, ClientAliveCountMax 2。sshd_config 恢復 PermitRootLogin yes 並重啟 sshd。sudo NOPASSWD 特定命令,或配置專用服務帳號。禁用 Root SSH 登入是「最小權限原則」的直接實踐。搭配金鑰認證、Fail2ban、非標準埠號與審計日誌,能大幅降低伺服器被入侵風險。上線前務必驗證備用登入管道可用。