如何使用 Squid 配置 SSH 代理伺服器
有時你無法從本地連接到 SSH 伺服器。還有時,你可能想為 SSH 連接添加額外的安全層。在這些情況下,通過代理伺服器連接到 SSH 伺服器是一種解決方式。
Squid 是提供緩存和代理服務的全功能代理伺服器應用。它通常用於在瀏覽過程中重用和緩存以前請求的網頁來幫助縮短響應時間並減少網路帶寬。
但是在本篇中,你將配置 Squid 作為 SSH 代理伺服器,因為它是強大的受信任代理伺服器,易於配置。
安裝和配置
$ sudo dnf install squid -y
squid 配置文件非常龐大,但是我們只需要配置其中一些。Squid 使用訪問控制列表來管理連接。
編輯 /etc/squid/squid.conf
文件,確保你有下面解釋的兩行。
首先,指定你的本地 IP 網路。默認配置文件已經列出了最常用的,但是如果沒有,你需要添加你的配置。例如,如果你的本地 IP 網路範圍是 192.168.1.X,那麼這行會是這樣:
acl localnet src 192.168.1.0/24
接下來,添加以下行,將 SSH 埠添加為安全埠:
acl Safe_ports port 22
保存該文件。現在啟用並重啟 squid 代理服務:
$ sudo systemctl enable squid
$ sudo systemctl restart squid
squid 代理默認監聽 3128 埠。配置 firewalld 允許此服務:
$ sudo firewall-cmd --add-service=squid --perm
$ sudo firewall-cmd --reload
測試 ssh 代理連接
要通過 ssh 代理伺服器連接到伺服器,我們將使用 netcat
。
如果尚未安裝 nmap-ncat
,請安裝它:
$ sudo dnf install nmap-ncat -y
這是標準 ssh 連接示例:
$ ssh user@example.com
這是使用 squid 代理伺服器作為網關連接到該伺服器的方式。
此示例假定 squid 代理伺服器的 IP 地址為 192.168.1.63。你還可以使用 squid 代理伺服器的主機名或 FQDN:
$ ssh user@example.com -o "ProxyCommand nc --proxy 192.168.1.63:3128 %h %p"
以下是這些選項的含義:
ProxyCommand
– 告訴 ssh 使用代理命令。nc
– 用於建立與代理伺服器連接的命令。這是 netcat 命令。%h
– 代理伺服器的主機名或 IP 地址的佔位符。%p
– 代理伺服器埠號的佔位符。
有很多方法可以配置 SSH 代理伺服器,但這是入門的簡單方法。
via: https://fedoramagazine.org/configure-ssh-proxy-server/
作者:Curt Warfield 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive