Permitir scp pero no ssh - sin scponly

8

Estoy migrando un servidor Debian a Ubuntu 16.04. Uno de los paquetes en el servidor Debian es el scponlyque actúa como un shell y permite conexiones ssh solo para propósitos scp (no iniciar sesión ni ejecutar nada que no sea el scpbinario). Los detalles se pueden encontrar aquí . Este paquete ha estado en Debian a través de al menos 2 actualizaciones de servidores físicos, innumerables actualizaciones de sistema operativo, y probablemente data de aproximadamente 2007.

scponlyno está en ningún repositorio 16.04 y no está compilado en el launchpad. Si bien soy bastante capaz de instalarlo desde la fuente, esto me hizo preguntarme si en los últimos 10 años hay una mejor manera de configurar ssh para permitir solo comandos scp, eso es más compatible con Ubuntu 16.04 y menos basado en la oscuridad y pasado lejano. ¿Algunas ideas?

abligh
fuente

Respuestas:

15

De acuerdo con esta respuesta de serverfault.com Permitir SCP pero no inicio de sesión real utilizando SSH , una forma actualmente compatible es mediante el uso rssh, que está disponible en el universerepositorio:

sudo apt-add-repository universe

sudo apt-get install rssh

Para permitir SCP, debe descomentar la línea correspondiente en el /etc/rssh.confarchivo (más cualquier otro protocolo que desee habilitar):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

Entonces es solo cuestión de cambiar el shell de inicio de sesión del usuario al shell rssh, por ejemplo

sudo chsh -s /usr/bin/rssh steeldriver

Luego puede probar que SCP funciona, por ejemplo

$ scp steeldriver@localhost:~/Pictures/somefile.png ./
steeldriver@localhost's password: 
somefile.png                                                               100%   34KB  33.7KB/s   00:00    
$

pero SSH debería fallar con un mensaje de rechazo como

$ ssh steeldriver@localhost
steeldriver@localhost's password: 
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-88-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Wed Jul  6 16:23:47 2016 from localhost

This account is restricted by rssh.
Allowed commands: scp

If you believe this is in error, please contact your system administrator.

Connection to localhost closed.

Tenga en cuenta que no parece ser necesario agregar /usr/bin/rssha la lista de shells de inicio de sesión permitidos en / etc / shells

conductor de acero
fuente
Gracias. Votado hace un tiempo y comprobado hoy funciona tan aceptado.
Abligh