在 Ubuntu 上使用 OpenSSH 設置基於本地 IP 的過濾
問候,
我們公司的伺服器管理員突然離開了,讓我們其他 IT 人員對 Linux 和設置伺服器等一無所知。設置如下:
我們的本地伺服器位於我們公司的一樓,我們用於開發和作為安全通道,通過它我們可以訪問我們在德國的實時伺服器。它安裝了 Ubuntu 和 OpenSSH。它包含我們的 SVN 儲存庫,並且我們的實時伺服器從該伺服器更新。它有一個 dyndns 設置,並且執行良好。更新工作流程如下:進行更改,送出,以 root 使用者身份 SSH 到本地伺服器,SSH 到實時伺服器,執行更新。這一切通過 dyndns 工作得非常好,並且過去通過我們的本地網路工作得非常好 -> 當我們在一樓(使用伺服器)時,我們有某種基於 IP 的過濾。在公司的 5 個 WAN 中,只有我們的可以通過 SSH 連接到伺服器。然而,我們現在搬到了二樓,伺服器表現得好像不認識我們一樣。我假設當我們將電纜從機架中交換機的一個部分切換到另一部分時本地 IP 發生了變化(交換機的不同部分是否在不同的 IP 上?我假設是這樣的..),現在我們無法通過 SSH 訪問它在本地(dyndns 仍然有效)。接管我們廢棄辦公室的人可以像我們過去一樣通過 SSH 訪問它,但他們不應該這樣做。
問題是 -> 在哪里以及如何為本地伺服器上的 SSH 連接設置這種基於本地 IP 的過濾?我閱讀了幾個 SSH 教程並瀏覽了 sshd_config 文件等,但一無所獲。如果您可以幫助我,請具體說明,我對整個過程一無所知,所以說“生成公鑰並將其上傳到機器”之類的話只會讓我感到困惑:)
多謝了。。
編輯:
netstat -plutn | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 758/sshd
tcp6 0 0 :::22 :::* LISTEN 758/sshd
iptables -n -L
Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination
SSHD_config
HostbasedAuthentication 否
IgnoreUserKnownHosts 是
收聽地址 ::
監聽地址 0.0.0.0
匹配 -> 未指定,行不存在
編輯2:問題已解決。
這是很明顯的人為錯誤。將我們一樓機架連接到二樓的那個人根本沒有這樣做。他實際上將乙太網插座重定向到他們自己的交換機並告訴我們他做到了。因此,我們線上,但通過他們的網路。今天來了一位年輕的大樓網路管理員,當我問他這件事時,他只是失望地嘆了口氣,並按照最初應該連接的方式連接了所有東西。現在一切都很好。
根本沒有過濾。這是問題的編輯內容中指定的人為錯誤。我想我必須在這些日子裡把所有東西都拆開,學習這些東西,以免自己再浪費時間和尷尬。
感謝 MealstroM 的努力!
您應該檢查 sshd 正在監聽的介面
netstat -plutn | grep sshd
並且您應該檢查iptables規則以了解 22 埠上的傳入連接。
還要檢查 sshd_config:
HostbasedAuthentication IgnoreUserKnownHosts ListenAddress Match