Ah, reler o manual revela a causa:
permitopen="host:port"
Limit local ''ssh -L'' port forwarding....
Também mencionada neste apêndice L e amp; A intitulado: Como posso limitar o encaminhamento de porta ssh remoto ? .
Eu tenho um usuário especial no meu servidor, vamos chamá-lo de foo . Eu uso apenas para encaminhamento de porta.
O usuário .ssh/authorized_keys2 está configurado para impedir o login e abrir apenas uma porta específica:
no-pty,no-X11-forwarding,permitopen="localhost:4000",\
command="/bin/echo do-not-send-commands" ssh-rsa <long public key> bar@foobar
Além disso, o foo tem seu shell definido como /bin/false in /etc/passwd .
Não consigo fazer login na máquina (é o que eu quero):
$ ssh foo@remote
PTY allocation request failed on channel 0
Connection to remote closed.
Mas eu posso abrir portas. Curiosamente, posso abrir a porta 4000, mas também outras portas sem privilégios:
$ ssh -N -R 4001:localhost:22 foo@remote
> # connection established
Em remote com usuário bar , posso conectar:
$ ssh -p4001 bar@localhost
bar@localhost's password:
Last login: Fri Sep 26 09:23:45 2014 from localhost.localdomain
...
Why can user
fooopen port 4001, when I limited it topermitopen="localhost:4000"?
Ah, reler o manual revela a causa:
permitopen="host:port"
Limit local ''ssh -L'' port forwarding....
Também mencionada neste apêndice L e amp; A intitulado: Como posso limitar o encaminhamento de porta ssh remoto ? .