Ssh
使 Linux 伺服器只能由受信任的機器訪問
我在網路上有三個 linux 機器(讓它們分別是 A、B 和 C)。
A 是提供一些服務(ftp、samba、http)的伺服器機器。我希望這些服務只能由 B 機器訪問。有沒有辦法,也許使用 ssh 或 VPN 來實現這個目標?您還可以提供有關此的連結嗎?
**編輯:**從您的回答中,我了解到我對身份驗證的關注不是很清楚,而且我也簡化了太多的問題。基本上沒有真正的網路。只有 A 具有“浮動”乙太網插槽。當我們的客戶想要進行維護時,他使用普通的交叉電纜連接其筆記型電腦 (B)。我只是想避免惡意員工連接自己的筆記型電腦 (C) 並開始使用諸如 ftp 之類的服務。是的,我可以為服務使用密碼,但我想在較低級別使用保護(即基於連接而不是基於服務)。
**EDIT2:**基本上我希望只有擁有正確證書的人才能與 A 建立網路。
您可以使用 iptables 來阻止除 SSH 之外的所有內容。
SSH 服務 (sshd) 可以配置為需要基於密鑰的登錄,並且不允許基於密碼的登錄。您可以在伺服器上為每個使用者生成 RSA 密鑰對,並在使用者的 ~user/.ssh/authorized_keys 文件中安裝公鑰後為使用者提供生成的私鑰的副本。
然後,授權使用者可以對 SAMBA 和 HTTP 服務使用SSH 隧道(並使用 SFTP 而不是 FTP)
您可以通過重命名 ~user/.ssh/authorized_keys 來撤銷/禁用訪問
我不完全確定您將如何在伺服器端控制隧道的意外其他用途。但也許這不是問題——只要受信任的使用者保護他們的私鑰,沒有不受信任的使用者可以訪問伺服器。