有时您无法从当前位置连接到SSH服务器,同时您可能想为SSH连接添加额外的安全层,在这些情况下,通过代理服务器连接到另一台SSH服务器是一种通行方式。Squid是功能齐全的代理服务器应用程序,可提供缓存和代理服务,通常通过在浏览过程中重用和缓存以前请求的网页来帮助缩短响应时间并减少网络带宽。但是,对于此设置,您将Squid配置为用作SSH代理服务器,因为它是易于配置的强大的受信任代理服务器,以下所使用的平台是Fedora Linux。
安装与配置 使用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命令,参考nc/netcat命令_Linux nc/netcat命令使用详解:用来设置路由器。 %h:代理服务器的主机名或IP地址的占位符。 %p:代理服务器端口号的占位符。
结语 有很多方法可以配置SSH代理服务器,但以上是入门的简单方法。
相关主题 |