Eu vi a mesma mensagem ao tentar fazer uma porta para um destino inacessível:
ssh example.com -L 1337:example.invalid:80
telnet localhost 1337
[email protected]:~$ channel 3: open failed: administratively prohibited: open failed
Eu tenho um tunel dinâmico do OpenSSH sendo executado como:
ssh -N -D '*:1080' [email protected]
(OpenSSH_5.3p1 Debian-3, OpenSSL 0.9.8n 24 de março de 2010)
que funciona perfeitamente por algumas horas, ou alguns dias, mas começa a soltar aleatoriamente conexões (não 100%, apenas algumas) produzindo:
channel 1019: open failed: administratively prohibited: open failed
Eu pesquisei no Google, mas não consigo encontrar nada mais do que esta mensagem em nome da configuração incorreta do servidor, negando completamente o túnel, aqui o túnel funciona algumas horas antes de soltar algumas solicitações.
Alguma ideia?
Eu vi a mesma mensagem ao tentar fazer uma porta para um destino inacessível:
ssh example.com -L 1337:example.invalid:80
telnet localhost 1337
[email protected]:~$ channel 3: open failed: administratively prohibited: open failed
"Administrativamente proibido" também é uma das mensagens de controle do ICMP. É possível que um roteador entre o servidor SSH e o destino do túnel esteja enviando isso?
Se o sniffing for possível, um filtro pcap simples com apenas icmp
pode mostrar todo o tráfego ICMP.
Existe uma chance de você encontrar um link ruim? Estou muito perplexa com essa mensagem - a única outra coisa em que pude pensar foi um problema de memória - você tem bastante RAM livre na caixa em que você está mergulhado?
Eu tive o mesmo problema usando authorized_keys
com permitopen
. No lado do servidor, /var/log/auth.log continha:
Received request to connect to host 127.0.0.1 port 10001, but the request was denied.
Como eu uso o autossh
para criar um túnel, precisei de duas portas: uma para conexão (10000) e outra para monitoramento (10001). O problema veio com a porta de monitoramento.
Nas minhas authorized_keys eu tive isto:
command="/home/user/tunnel",no-X11-forwarding,no-pty,permitopen="localhost:10000",permitopen="localhost:10001" ssh-rsa AAAA
Eu resolvi isso substituindo localhost
instances por 127.0.0.1
O motivo para as conexões descartadas pode ser um firewall sobrecarregado ou configurado para ser excessivamente rígido na limpeza de conexões inativas, em algum lugar entre o destino da conexão SSH e o destino final das portas encaminhadas.
Quando um firewall julgar que uma conexão está inativa por tempo suficiente, ela pode soltar as informações de conexão de sua tabela de estados de conexão. Se um terminal da conexão tentar transmitir tráfego depois disso, o firewall rejeitará a conexão (em nome do destino pretendido), já que, aparentemente, você está tentando usar uma conexão existente, mas o firewall não tem mais as informações de rastreamento de estado essa conexão. Assim, o firewall rejeita os pacotes com uma mensagem de erro ICMP, portanto, "proibida administrativamente".
Tags ssh linux unix ssh-tunnel