SSH(Secure Shell)是一種加密網路協議,它可以在不安全的網路中為網路服務提供安全的數據傳輸以及遠程登錄終端進行管理。在CentOS中,通過配置SSH並進行安全設置,可以提高系統的安全性。
一、安裝和啟動SSH服務
1、安裝ssh-server包:
sudo yum install openssh-server
2、啟動SSH服務:
sudo systemctl start sshd.service
3、設置SSH服務開機自啟:
sudo systemctl enable sshd.service
二、配置SSH服務
1、修改SSH埠號
為了防止常用的22埠被攻擊者利用,建議修改SSH的默認埠號。修改方法如下:
1)編輯SSH配置文件:
sudo vi /etc/ssh/sshd_config
2)找到「#Port 22」這一行,去掉行首井號並修改為其它不衝突的埠號(如:2233):
Port 2233
3)保存修改後的配置文件並重啟ssh服務:
sudo systemctl restart sshd.service
2、禁止root用戶登錄
為了加強SSH服務的安全性,建議禁止使用root用戶直接登錄SSH。修改方法如下:
1)編輯SSH配置文件:
sudo vi /etc/ssh/sshd_config
2)找到「#PermitRootLogin yes」這一行,去掉行首井號並修改為「PermitRootLogin no」:
PermitRootLogin no
3)保存修改後的配置文件並重啟ssh服務:
sudo systemctl restart sshd.service
三、SSH登錄安全設置
為了增強SSH登錄的安全性,可以採用一些方法來防止未經授權的用戶登錄系統。
1、使用公鑰認證登錄SSH
使用公鑰認證可以有效地防止SSH登錄被黑客攻擊,這裡以在本地生成RSA公鑰和私鑰為例進行介紹:
1)在本地生成RSA公鑰和私鑰:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
2)在伺服器上創建新用戶並添加公鑰:
sudo adduser newuser
sudo mkdir /home/newuser/.ssh
sudo chmod 700 /home/newuser/.ssh
sudo touch /home/newuser/.ssh/authorized_keys
sudo chmod 600 /home/newuser/.ssh/authorized_keys
將本地的公鑰文件~/.ssh/id_rsa.pub複製到伺服器的/home/newuser/.ssh/authorized_keys文件中:
scp ~/.ssh/id_rsa.pub newuser@your_server_ip:/home/newuser/.ssh/authorized_keys
3)修改SSH配置文件,啟用公鑰認證:
找到「#PubkeyAuthentication yes」這一行,去掉行首井號並修改為「PubkeyAuthentication yes」:
PubkeyAuthentication yes
4)保存修改後的配置文件並重啟ssh服務:
sudo systemctl restart sshd.service
2、使用密碼登錄SSH
如果不能使用公鑰認證或者希望同時使用密碼認證和公鑰認證,則需要設置密碼登錄SSH時強制要求使用複雜密碼。
在SSH配置文件中,找到「#PasswordAuthentication yes」這一行,去掉行首井號並修改為「PasswordAuthentication yes」:
PasswordAuthentication yes
然後在同一文件中找到「#PermitEmptyPasswords no」這一行,去掉行首井號並修改為「PermitEmptyPasswords no」:
PermitEmptyPasswords no
最後重啟ssh服務:
sudo systemctl restart sshd.service
四、SSH故障解決
1、SSH連接被拒絕
可能原因是ssh服務沒有開啟或者被防火牆攔截了請求。可以通過以下命令檢查ssh服務是否在運行:
sudo systemctl status sshd
如果出現「active (running)」字樣,則說明ssh服務在運行。
解決方法:
1)如果ssh服務沒有運行,則需要啟動ssh服務:
sudo systemctl start sshd.service
2)如果ssh服務已經啟動但是無法連接,則可能被防火牆攔截了請求:
使用以下命令檢查防火牆是否開啟:
sudo firewall-cmd --state
如果狀態為「running」說明防火牆已經開啟,可以通過添加策略來放行ssh請求:
sudo firewall-cmd --permanent --add-service=ssh
然後重啟防火牆:
sudo firewall-cmd --reload
2、SSH登錄速度較慢
這個問題可能是由於DNS反向解析造成的,如果伺服器不能正確地解析客戶端的DNS信息,則登錄速度會變得非常慢。
解決方法如下:
在SSH配置文件中找到「#UseDNS yes」這一行,去掉行首井號並修改為「UseDNS no」:
UseDNS no
保存修改後的配置文件並重啟ssh服務:
sudo systemctl restart sshd.service
總結
通過對CentOS SSH服務配置和安全的設置,可以有效地提高系統的安全性。具體方法包括安裝和啟動SSH服務,修改SSH埠號、禁止root用戶登錄,使用公鑰認證登錄SSH、使用密碼登錄SSH等。同時,還需要注意解決SSH故障,如SSH連接被拒絕、SSH登錄速度較慢等問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258430.html