在Linux中,SSH(Secure Shell)是一種加密的網絡協議,用于在不安全的網絡上安全地進行遠程登錄和數據傳輸
使用密鑰對進行身份驗證: 為了限制訪問權限,建議使用SSH密鑰對進行身份驗證,而不是使用密碼。這樣可以避免密碼泄露導致的未經授權的訪問。要設置密鑰對,請按照以下步驟操作:
a. 在本地計算機上生成一個SSH密鑰對(如果尚未生成):
ssh-keygen -t rsa -b 2048
b. 將公鑰(默認為~/.ssh/id_rsa.pub
)復制到遠程服務器的~/.ssh/authorized_keys
文件中。你可以使用以下命令將公鑰追加到遠程服務器的授權密鑰文件中:
ssh-copy-id user@remote_host
c. 確保遠程服務器上的SSH目錄和文件具有正確的權限。通常,建議將目錄權限設置為700,將文件權限設置為600:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
配置SSH服務器以限制訪問:
編輯遠程服務器上的SSH配置文件(通常位于/etc/ssh/sshd_config
),并根據需要添加或修改以下設置:
a. 限制允許通過SSH連接的客戶端IP地址:
AllowUsers user1@example.com user2@example.com
b. 限制特定端口的SSH訪問:
Port 2222
c. 禁用root遠程登錄:
PermitRootLogin no
d. 啟用公鑰身份驗證:
PasswordAuthentication no
e. 設置會話超時時間:
ClientAliveInterval 300
ClientAliveCountMax 0
f. 限制并發連接數:
MaxStartups 10
g. 啟用TCP Wrapping(防止TCP SYN Flood攻擊):
UseTCPWrappers yes
在對SSH配置文件進行更改后,請重新啟動SSH服務以使更改生效:
sudo systemctl restart sshd
通過以上步驟,你可以限制Linux SSH訪問權限,提高系統安全性。