在Ubuntu系統中,使用iptables來允許SSH連接需要執行以下步驟:
打開終端。
首先,確保iptables已經安裝。在大多數Ubuntu版本中,iptables是預裝的。如果沒有安裝,可以使用以下命令安裝:
sudo apt-get update
sudo apt-get install iptables
允許SSH連接。默認情況下,SSH使用端口22。要允許SSH連接,需要添加一條規則來允許TCP端口22上的流量。使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
這條命令的意思是,將一條規則添加到INPUT鏈,允許新的和已建立的TCP連接到端口22。
保存iptables規則。在某些Ubuntu版本中,iptables規則在重啟后不會自動保存。要保存規則,可以使用以下命令:
sudo iptables-save | sudo tee /etc/iptables/rules.v4
這將把當前的iptables規則保存到/etc/iptables/rules.v4文件中。
如果需要,可以設置iptables在系統啟動時自動加載這些規則。這通常涉及到創建一個自定義的systemd服務或者使用netfilter-persistent包。使用以下命令安裝netfilter-persistent:
sudo apt-get install netfilter-persistent
安裝過程中,它會詢問是否要保存當前的iptables規則。選擇“是”,這樣規則就會在系統啟動時自動加載。
最后,重啟SSH服務以確保更改生效:
sudo systemctl restart ssh
現在,你的Ubuntu系統應該允許通過SSH進行連接了。如果仍然無法連接,請檢查防火墻設置、網絡配置以及SSH服務狀態。