配置 Squid 作為 SSH 代理伺服器

安全劍客發表於2020-08-13
導讀 有時你無法從本地連線到 SSH 伺服器。還有時,你可能想為 SSH 連線新增額外的安全層。在這些情況下,透過代理伺服器連線到 SSH 伺服器是一種解決方式。

Squid 是提供快取和代理服務的全功能代理伺服器應用。它通常用於在瀏覽過程中重用和快取以前請求的網頁來幫助縮短響應時間並減少網路頻寬。

配置 Squid 作為 SSH 代理伺服器配置 Squid 作為 SSH 代理伺服器

但是在本篇中,你將配置 Squid 作為 SSH 代理伺服器,因為它是強大的受信任代理伺服器,易於配置。

安裝和配置

使用 sudo 安裝 squid 軟體包:

$ 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 代理伺服器,但這是入門的簡單方法。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2711567/,如需轉載,請註明出處,否則將追究法律責任。

相關文章