Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 禁用 Root 遠端 SSH 登入:提升伺服器安全性實戰

編輯:Linux 教學

前言

Root 帳號擁有最高權限,是駭客暴力破解的首選目標。禁用 Root 遠端 SSH 登入、改用一般用戶搭配 sudo 或 su 切換,是 Linux 伺服器上線必做的安全基線動作。

操作步驟

1. 建立一般管理用戶


# 新增用戶 adminuser
useradd adminuser

# 設定密碼
passwd adminuser

# 加入 wheel 群組(可使用 sudo)
usermod -aG wheel adminuser

2. 驗證新用戶可登入且可提權


# 另開一個終端機測試
ssh adminuser@your_server_ip

# 測試 sudo 權限
sudo whoami
# 應顯示 root

重要:確認新用戶能正常登入且提權成功後,再進行下一步,避免把自己鎖在外面。

3. 修改 SSH 配置禁用 Root 登入


vi /etc/ssh/sshd_config

找到並修改:


# 預設為 yes 或註解掉
PermitRootLogin no

# 建議同時啟用以下安全設定
PubkeyAuthentication yes          # 僅允許金鑰認證(更安全)
PasswordAuthentication no         # 禁用密碼認證(需先設定好金鑰)
PermitEmptyPasswords no           # 禁止空密碼
MaxAuthTries 3                    # 限制嘗試次數

4. 重啟 SSH 服務生效


# CentOS 7+
systemctl restart sshd

# CentOS 6
service sshd restart
# 或
/etc/init.d/sshd restart

5. 驗證 Root 已無法登入


ssh root@your_server_ip
# 應提示 Permission denied

後續操作:需要 Root 權限時

  • sudo 命令:推薦,有日誌審計
  • su - root:切換到 root 環境,需 root 密碼
  • sudo -i:取得 root 互動式 Shell

進階安全建議

  1. 強制金鑰認證:PasswordAuthentication no,配合 ssh-copy-id 部署公鑰。
  2. 修改預設埠號:Port 2222,減少自動掃描噪音。
  3. 啟用 Fail2ban:自動封鎖暴力嘗試 IP。
  4. 限制允許登入用戶:AllowUsers adminuser user2。
  5. 設定閒置超時:ClientAliveInterval 300, ClientAliveCountMax 2。

常見問題

Q: 禁用 Root 後,SFTP 無法上傳檔案?
A: 建立專用 SFTP 用戶並配置 Chroot 目錄,或使用具備寫入權限的一般用戶搭配 sudo。
Q: 鎖定自己無法登入怎麼辦?
A: 透過 VNC/主控台/單用戶模式進入系統,修改 sshd_config 恢復 PermitRootLogin yes 並重啟 sshd。
Q: 自動化部署腳本需要 Root 怎麼辦?
A: 使用 SSH 金鑰 + sudo NOPASSWD 特定命令,或配置專用服務帳號。

總結

禁用 Root SSH 登入是「最小權限原則」的直接實踐。搭配金鑰認證、Fail2ban、非標準埠號與審計日誌,能大幅降低伺服器被入侵風險。上線前務必驗證備用登入管道可用。

Copyright © Windows教程網 All Rights Reserved