Puede utilizar Shell seguro para establecer una conexión desde un host dentro de un firewall hasta un host fuera del firewall. Esta tarea se realiza especificando un comando de proxy para ssh en un archivo de configuración o como una opción en la línea de comandos. Para la opción de línea de comandos, consulte el Example 1–7.
Puede personalizar las interacciones de ssh mediante su propio archivo de configuración personal, ~/.ssh/config, o bien puede utilizar los valores del archivo de configuración administrativa, /etc/ssh/ssh_config.
Los archivos se pueden personalizar con dos tipos de comandos de proxy. Un comando de proxy es para conexiones HTTP. El otro comando de proxy es para conexiones SOCKS5. Para obtener más información, consulte la página del comando man ssh_config(4).
Utilice la sintaxis siguiente para agregar tantas líneas como sea necesario:
[Host outside-host] ProxyCommand proxy-command [–h proxy-server] \ [–p proxy-port] outside-host|%h outside-port|%p
Limita la especificación del comando de proxy a instancias cuando un nombre de host remoto se especifica en la línea de comandos. Si utiliza un carácter comodín para outside-host, aplica la especificación del comando de proxy a un conjunto de hosts.
Especifica el comando de proxy.
El comando puede ser cualquiera de los siguientes:
/usr/lib/ssh/ssh-http-proxy-connect para conexiones HTTP
/usr/lib/ssh/ssh-socks5-proxy-connect para conexiones SOCKS5
Estas opciones especifican un servidor proxy y un puerto proxy, respectivamente. Si están presentes, los proxies sustituyen cualquier variable de entorno que especifica servidores proxy y puertos proxy, como HTTPPROXY, HTTPPROXYPORT, SOCKS5_PORT, SOCKS5_SERVER y http_proxy. La variable http_proxy especifica una URL. Si las opciones no se usan, las variables de entorno relevantes se deben definir. Para obtener más información, consulte las páginas del comando man ssh-socks5-proxy-connect(1) y ssh-http-proxy-connect(1).
Designa un host específico para conectarse. Utilice el argumento de sustitución %h para especificar el host en la línea de comandos.
Designa un puerto específico para conectarse. Utilice el argumento de sustitución %p para especificar el puerto en la línea de comandos. Al especificar %h y %p sin utilizar la opción Host outside-host, el comando de proxy se aplica al argumento de host cada vez que se invoca el comando ssh.
Por ejemplo:
mySystem% ssh myOutsideHost
Este comando busca una especificación de comando de proxy para myOutsideHost en su archivo de configuración personal. Si la especificación no se ha encontrado, el comando busca en el archivo de configuración de todo el sistema, /etc/ssh/ssh_config. El comando de proxy se sustituye por el comando ssh.
Cómo configurar conexiones de shell seguro predeterminadas a hosts fuera de un firewall explica cómo especificar un comando de proxy en un archivo de configuración. En este ejemplo, un comando de proxy se especifica en la línea de comandos ssh.
% ssh -o'Proxycommand=/usr/lib/ssh/ssh-http-proxy-connect \ -h myProxyServer -p 8080 myOutsideHost 22' myOutsideHost
La opción –o para el comando ssh proporciona un método de línea de comandos para especificar un comando de proxy. En este ejemplo, el comando realiza lo siguiente:
Sustituye el comando de proxy HTTP para ssh
Utiliza el puerto 8080 y myProxyServer como el servidor proxy
Se conecta al puerto 22 en myOutsideHost