有時,你無法從當前位置連接到ssh服務器。其他時候,你可能想為你的ssh連接增加一層額外的安全保護。在這些情況下,通過代理服務器連接到另一個ssh服務器是一種方法。
Squid是一個功能齊全的代理服務器應用程序,提供緩存和代理服務。它通常用于幫助提高響應時間,并通過在瀏覽過程中重用和緩存以前請求的網頁來減少網絡帶寬。
然而對于這個設置,你將把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
4.)默認情況下,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代理服務器的IP地址為192.168.1.63。您還可以使用Squid代理服務器的主機名或FQDN:
$ ssh user@example.com -o “ProxyCommand nc –proxy 192.168.1.63:3128 %h %p”
以下是這些選項的含義:
nc –用于建立與代理服務器的連接的命令。這是netcat命令。
% h –代理服務器的主機名或IP地址的占位符。
% p –代理服務器端口號的占位符。