Restrinja a porta de encapsulamento do servidor SSH

0

Eu tenho um servidor SSH executando o OpenSSH. Eu quero usá-lo para configurar um servidor SOCKS para que meus amigos na China possam usá-lo para acessar sites como o Twitter. Eu quero impor duas restrições: 1. nenhum acesso ao shell, 2. apenas a porta 80 e 443 permitida.

Minha pergunta é: como aplicar a segunda restrição? Eu tentei colocar a seguinte linha em /home/tunuser/.ssh/authorized_keys: permitopen=": 80", permitopen=": 443", no-pty ...

Eu uso a opção ssh -D, e o navegador usou o proxy SOCKS. O cliente ssh fez o login com sucesso, mas meu navegador da Web não consegue estabelecer um túnel. A mensagem de erro no servidor ssh diz que o túnel não é permitido.

Depois que eu removi as duas opções "permitopen", meu navegador pode navegar com sucesso.

O openssh suporta "restringir somente porta, permitir qualquer host"?

    
por Wu Yongzheng 15.03.2014 / 09:54

1 resposta

0

Desculpe, não é possível usar wildcard em hostnames

No pattern matching is performed on the specified hostnames, 
they must be literal domains or addresses.

Página Man para permitopen

permitopen="host:port"
         Limit local ''ssh -L'' port forwarding such that it may only connect 
to the specified host and port.  IPv6 addresses can be specified by enclosing
the address in square brackets.  Multiple permitopen options may be applied 
separated by commas.  No pattern matching is performed on the specified                 
hostnames, they must be literal domains or addresses.  A port specification 
of * matches any port.
    
por 15.03.2014 / 12:01