系统管理指南:安全性服务

Procedure如何设置到防火墙外部主机的缺省连接

可以使用 Solaris 安全 Shell 建立从防火墙内的主机到防火墙外的主机的连接。通过在配置文件中指定 ssh 的代理命令或者在命令行中将该代理命令指定为选项,可以完成此任务。有关的命令行选项,请参见示例 18–6

通常,可以通过配置文件自定义 ssh 交互。

可以使用两种类型的代理命令自定义这些文件。一个是用于 HTTP 连接的代理命令。另一个是用于 SOCKS5 连接的代理命令。有关更多信息,请参见 ssh_config(4) 手册页。

  1. 在配置文件中指定代理命令和主机。

    使用以下语法添加所需数量的行:


    [Host outside-host]
    
    ProxyCommand proxy-command [-h proxy-server] \
    
    [-p proxy-port] outside-host|%h outside-port|%p
    Host outside-host

    在命令行中指定远程主机名时,将代理命令规范限制为实例。如果对 outside-host 使用通配符,则可将代理命令规范应用于一组主机。

    proxy-command

    指定代理命令。该命令可以是以下之一:

    • /usr/lib/ssh/ssh-http-proxy-connect,用于 HTTP 连接

    • /usr/lib/ssh/ssh-socks5-proxy-connect,用于SOCKS5 连接

    -h proxy-server-p proxy-port

    这些选项分别指定代理服务器和代理端口。如果存在,则代理将覆盖指定代理服务器和代理端口的任何环境变量,如 HTTPPROXYHTTPPROXYPORTSOCKS5_PORTSOCKS5_SERVERhttp_proxyhttp_proxy 变量指定 URL。如果不使用这些选项,则必须设置相关的环境变量。有关更多信息,请参见 ssh-socks5-proxy-connect(1)ssh-http-proxy-connect(1) 手册页。

    outside-host

    指定要连接到的特定主机。请在命令行中使用 %h 替换参数来指定主机。

    outside-port

    指定要连接到的特定端口。请在命令行中使用 %p 替换参数来指定端口。通过指定 %h%p 而不使用 Host outside-host 选项,只要调用 ssh 命令即可将应用代理命令到主机参数。

  2. 运行 Solaris 安全 Shell,从而指定外部主机。

    例如,键入以下命令:


    myLocalHost% ssh myOutsideHost
    

    此命令可在个人配置文件中查找 myOutsideHost 的代理命令规范。如果找不到规范,则该命令将在系统范围的配置文件 /etc/ssh/ssh_config 中查找。该代理命令将替换 ssh 命令。


示例 18–6 通过命令行连接到防火墙外部的主机

如何设置到防火墙外部主机的缺省连接说明如何在配置文件中指定代理命令。在本示例中,在 ssh 命令行中指定代理命令。


% ssh -o'Proxycommand=/usr/lib/ssh/ssh-http-proxy-connect \

-h myProxyServer -p 8080 myOutsideHost 22' myOutsideHost

ssh 命令的 -o 选项提供了指定代理命令的命令行方法。此示例命令可执行以下操作: