你可能想為 SSH 連接添加額外的安全層。在這些情況下,通過代理服務(wù)器連接到 SSH 服務(wù)器是一種解決方式。
• 來源:linux.cn • 作者:Curt Warfield • 譯者:geekpi •
(本文字?jǐn)?shù):1503,閱讀時(shí)長(zhǎng)大約:2 分鐘)
有時(shí)你無法從本地連接到 SSH 服務(wù)器。還有時(shí),你可能想為 SSH 連接添加額外的安全層。在這些情況下,通過代理服務(wù)器連接到 SSH 服務(wù)器是一種解決方式。
Squid 是提供緩存和代理服務(wù)的全功能代理服務(wù)器應(yīng)用。它通常用于在瀏覽過程中重用和緩存以前請(qǐng)求的網(wǎng)頁(yè)來幫助縮短響應(yīng)時(shí)間并減少網(wǎng)絡(luò)帶寬。
但是在本篇中,你將配置 Squid 作為 SSH 代理服務(wù)器,因?yàn)樗菑?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,那么這行會(huì)是這樣:
acl localnet src 192.168.1.0/24
接下來,添加以下行,將 SSH 端口添加為安全端口:
acl Safe_ports port 22
保存該文件。現(xiàn)在啟用并重啟 squid 代理服務(wù):
$ sudo systemctl enable squid
$ sudo systemctl restart squid
squid 代理默認(rèn)監(jiān)聽 3128 端口。配置 firewalld 允許此服務(wù):
$ 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 [email protected]
這是使用 squid 代理服務(wù)器作為網(wǎng)關(guān)連接到該服務(wù)器的方式。
此示例假定 squid 代理服務(wù)器的 IP 地址為 192.168.1.63。你還可以使用 squid 代理服務(wù)器的主機(jī)名或 FQDN:
$ ssh [email protected] -o "ProxyCommand nc --proxy 192.168.1.63:3128 %h %p"
以下是這些選項(xiàng)的含義:
- ProxyCommand – 告訴 ssh 使用代理命令。
- nc – 用于建立與代理服務(wù)器連接的命令。這是 netcat 命令。
- %h – 代理服務(wù)器的主機(jī)名或 IP 地址的占位符。
- %p – 代理服務(wù)器端口號(hào)的占位符。
有很多方法可以配置 SSH 代理服務(wù)器,但這是入門?的簡(jiǎn)單方法。
via: fedoramagazine.org
作者: Curt Warfield 選題: lujun9972 譯者: geekpi 校對(duì): wxy
本文由 LCTT 原創(chuàng)編譯, Linux中國(guó) 榮譽(yù)推出