¿Configurar SSH para permitir el reenvío de puertos pero no comandos para una clave en particular?

8

Así que agregué una clave pública a authorized_keys. ¿Cómo puedo limitarlo para que pueda reenviar puertos pero puede que no tenga un shell?

thelsdj
fuente

Respuestas:

10

Debe poner una no-ptypalabra clave antes de su clave para que se vea así:

no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABBACzbcwCZNaN3HhHmpnaVrfZlNJ0HhPnOqEj
k2llms1OOPnEXetIlZuJw0UXbyMbhQbBl/E2wxXvXvF+jyLRR5yN6kBydM4LhjC0ej0PcH839vXd
uwJpDFjPw3s7r0VOhU1WRyk6Da6rX6shzabhQioIm3MHCjNOdywPb0k1cTj4yOxoOCOqGjmXK0
xxzTd+ZjTJqQGWzZ+8L8cVtKmU8kspYlCdhGWSv0Den36OsScnWTBn8A3X3lVJB5NkEm
BM1yKX4F6BhhD317VensEUu031PtFULeSF97IxDPmK36OFz9TPSf4d8Hp3BqtysqUlbWfEhYdHXj
+1Mn4xXZKiZhBh1DX youruser@yourhome

(Todo esto está en una sola línea, agregué los saltos de línea para facilitar la lectura).

ACTUALIZACIÓN: si desea evitar la ejecución remota de comandos, debe agregar: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...
cstamas
fuente
44
Eso restringe la capacidad de tener un inicio de sesión remoto, no impide la ejecución remota de comandos. Src: marc.info/?l=openssh-unix-dev&m=111143581515782&w=2
mctylr el
1
@mctylr: eso no era parte de la pregunta. Pero tienes razón, tal vez el OP no estaba al tanto de eso, así que agregué eso a la respuesta. (+1)
cstamas
1
También vale la pena señalar que necesita usar 'ssh -N' para mantener el túnel en funcionamiento cuando no hay un shell en el extremo remoto.
Mike Pountney
1

hombre sshd

Sección AUTHORIZED_KEYS FORMATO DE ARCHIVO . Puede restringir a qué usuarios pueden reenviar puertos simplemente agregando los puertos y hosts que desea permitir, como

permitopen = "192.0.2.1:80"

También puede restringir desde dónde se conecta el usuario, qué comandos pueden ejecutar, etc.


fuente
1

Me gustaría ver el uso de scponly , sospecho que se puede usar para el reenvío de puertos en lugar de acceso solo scp / sftp. Su objetivo es restringir que el usuario inicie sesión o ejecute comandos a través de ssh.

El otro factor que puede necesitar, o desea, usar sshd en un entorno chroot ', aquí hay algunas instrucciones sobre cómo configurar sftp usando chroot. Debería poder adaptarlos con bastante facilidad.

Espero que eso te ayude a encontrar tu solución.

mctylr
fuente
scponlyparece haberse movido a github.com/scponly/scponly . Su enlace da un 404. :(
Bill Weiss