有時(shí),你無法從當(dāng)前位置連接到ssh服務(wù)器。其他時(shí)候,你可能想為你的ssh連接增加一層額外的安全保護(hù)。在這些情況下,通過代理服務(wù)器連接到另一個(gè)ssh服務(wù)器是一種方法。
Squid是一個(gè)功能齊全的代理服務(wù)器應(yīng)用程序,提供緩存和代理服務(wù)。它通常用于幫助提高響應(yīng)時(shí)間,并通過在瀏覽過程中重用和緩存以前請(qǐng)求的網(wǎng)頁來減少網(wǎng)絡(luò)帶寬。
然而對(duì)于這個(gè)設(shè)置,你將把Squid配置為ssh代理服務(wù)器,因?yàn)樗且粋€(gè)強(qiáng)大的可信代理服務(wù)器,易于配置。
安裝與配置
使用sudo安裝squid軟件包:
$ sudo dnf install squid -y
squid配置文件非常廣泛,但是我們只需要配置幾件事。Squid使用訪問控制列表來管理連接。
編輯/etc/squid/squid.conf文件,以確保您具有下面說明的兩行。
首先,指定您的本地IP網(wǎng)絡(luò)。默認(rèn)配置文件已經(jīng)包含最常用的配置列表,但是如果不存在,則需要添加您的配置文件。例如,如果您的本地IP網(wǎng)絡(luò)范圍是192.168.1.X,則該行的外觀如下:
acl localnet src 192.168.1.0/24
接下來,通過添加以下行,將ssh端口添加為安全端口:
acl Safe_ports port 22
保存該文件。現(xiàn)在啟用并重新啟動(dòng)Squid代理服務(wù):
$ sudo systemctl enable squid
$ sudo systemctl restart squid
4.)默認(rèn)情況下,squid代理在端口3128上進(jìn)行偵聽。將firewalld配置為允許此操作:
$ sudo firewall-cmd –add-service=squid –perm
$ sudo firewall-cmd –reload
測(cè)試ssh代理連接
要通過ssh通過代理服務(wù)器連接到服務(wù)器,我們將使用netcat。
如果尚未安裝nmap-ncat,請(qǐng)安裝它:
$ sudo dnf install nmap-ncat -y
這是標(biāo)準(zhǔn)ssh連接的示例:
$ ssh user@example.com
這是使用squid代理服務(wù)器作為網(wǎng)關(guān)連接到該服務(wù)器的方式。
本示例假定Squid代理服務(wù)器的IP地址為192.168.1.63。您還可以使用Squid代理服務(wù)器的主機(jī)名或FQDN:
$ ssh user@example.com -o “ProxyCommand nc –proxy 192.168.1.63:3128 %h %p”
以下是這些選項(xiàng)的含義:
nc –用于建立與代理服務(wù)器的連接的命令。這是netcat命令。
% h –代理服務(wù)器的主機(jī)名或IP地址的占位符。
% p –代理服務(wù)器端口號(hào)的占位符。