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
foo
open 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 ? .