Estou tentando configurar um contêiner docker que uso para ignorar firewalls / NATS para permitir o acesso SSH aos computadores por trás dessas barreiras de roteamento. Em essência, eu tenho um serviço SSH ouvindo dentro de um contêiner docker, ao qual meus outros computadores se conectam, abrindo um encaminhamento de porta SSH reverso e, em seguida, se eu quiser me conectar a um computador atrás de um firewall, eu me conecto ao meu servidor proxy dockerizado na porta reversa. Exemplo:
Firewalled computer " Bob " se conecta ao servidor proxy:
ssh -R 2024:localhost:22 -N remote.serverEm seguida, eu me conecto ao servidor remoto na porta 2024 de modo a seguir o túnel de volta para baixo e se conectar a localhost:22 em bob:
ssh -p 2024 remote.serverTudo isso funciona muito bem quando não está dockerized, no entanto, quando tentei mover isso para um serviço dockerized, descobri que meu sshd o servidor dentro do contêiner docker teimosamente se recusa a abrir a porta remota para a frente. Conectando com ssh -vvv na primeira etapa acima dá:
...debug1: Entering interactive session.debug1: pledge: networkdebug3: receive packet: type 4debug1: Remote: Server has disabled port forwarding.debug3: receive packet: type 82debug1: remote forward failure for: listen 2024, connect localhost:22Warning: remote port forwarding failed for listen port 2024debug1: All remote forwarding requests processedO que soa muito como o meu sshd não está configurado para permitir o encaminhamento remoto de porta. No entanto, meu sshd_config parece pensar que é:
# tail /etc/ssh/sshd_config -n 5GatewayPorts yesAllowTcpForwarding yesAllowStreamLocalForwarding yesPermitTunnel yesUsePrivilegeSeparation noDe fato, correndo com ssh -ddd dentro do contêiner do docker e, em seguida, a conexão com a linha acima mostra primeiro:
debug3: /etc/ssh/sshd_config:91 setting GatewayPorts yesdebug3: /etc/ssh/sshd_config:92 setting AllowTcpForwarding yesdebug3: /etc/ssh/sshd_config:93 setting AllowStreamLocalForwarding yesdebug3: /etc/ssh/sshd_config:94 setting PermitTunnel yesdebug3: /etc/ssh/sshd_config:95 setting UsePrivilegeSeparation noSeguido por:
debug1: server_input_global_request: rtype tcpip-forward want_reply 1debug1: server_input_global_request: tcpip-forward listen localhost port 2024debug1: server_input_global_request: rtype [email protected] want_reply 0Portanto, claramente minha configuração está sendo definida corretamente, mas parece que o cliente ainda acha que o servidor não pode fazer o encaminhamento de porta. Como posso convencer o servidor openssh a realizar o encaminhamento remoto? O que poderia causar essa falha?
O cliente está em execução OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, o servidor está em execução OpenSSH_6.7p1 Debian-5+deb8u4, a versão docker é 17.09.1-ce no Amazon Linux 2017.09.
Obrigado!
