如何從網路外部的伺服器啟用 SSH 存取?

如何從網路外部的伺服器啟用 SSH 存取?

我的本地網路中有一台電腦 A (CentOS 7),在本地網路之外有一個託管的網站 B。我需要啟用從 B 到 A 的 SSH 存取(我打算使用 phpseclib 在它們之間傳輸檔案)。我將 A 配置為靜態 IP 位址 192.168.0.201。

我嘗試使用我的路由器設定介面將A變成虛擬伺服器,如下:虛擬伺服器配置。我的目的是,當我透過 SSH 連接到我的公共 IP 位址和一個特定連接埠時,重定向到電腦 A。

然後我嘗試從本地網路上的另一台 PC 使用 PuTTy 使用我的公共 IP 位址和連接埠 21 連接到 A,但逾時。我不確定協議和端口,因此我也嘗試將虛擬伺服器服務類型配置為 SSH 和端口 22,但再次逾時。

我缺什麼?

答案1

首先,您需要的端口是 22,因為這是 SSH 的端口,看來您正確配置了路由器。連接埠 21 是預設的 FTP 協定連接埠。

然後,我會檢查你的 centos 伺服器 iptables 狀態,因為預設情況下它是開啟的並阻止所有傳入連線。

只是為了測試,我會關閉服務並嘗試重新連接。

您可以透過執行以下命令來做到這一點:

systemctl stop iptables

如果您發現現在可以從外部連接,請重新啟動 iptables 並設定規則以開啟連接埠 22,具體如下:

iptables -A INPUT -i NIC_NAME -p tcp —dport 22 -j ACCEPT 

相關內容