Permettere scp ma non ssh - senza scponly


8

Sto migrando un server Debian su Ubuntu 16.04. Uno dei pacchetti sul server Debian è scponlyche funge da shell e consente connessioni ssh solo a scopo scp (non effettua il login o esegue qualcosa di diverso dal scpbinario). I dettagli sono disponibili qui . Questo pacchetto è già stato su Debian attraverso almeno 2 aggiornamenti fisici del server, innumerevoli aggiornamenti del sistema operativo e probabilmente risale al 2007 circa.

scponlynon è in alcun repository 16.04 e non è compilato su launchpad. Mentre sono abbastanza in grado di installarlo dal sorgente, questo mi ha fatto pensare se negli ultimi 10+ anni c'è un modo migliore di configurare ssh per consentire solo i comandi scp, che è più Ubuntu 16.04 amichevole e meno basato su dim e passato remoto. Qualche idea?

Risposte:


15

In base a questa risposta serverfault.com, Consenti SCP ma non l'accesso effettivo tramite SSH , è attualmente possibile utilizzare un metodo rsshdisponibile nel universerepository:

sudo apt-add-repository universe

sudo apt-get install rssh

Per consentire SCP, devi decommentare la riga corrispondente nel /etc/rssh.conffile (oltre a qualsiasi altro protocollo che desideri abilitare):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

Quindi si tratta solo di cambiare la shell di login dell'utente nella shell rssh, ad es

sudo chsh -s /usr/bin/rssh steeldriver

È quindi possibile verificare che SCP funzioni ad es

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

ma SSH dovrebbe fallire con un messaggio di rifiuto come

$ 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.

Nota che non sembra essere necessario aggiungere /usr/bin/rsshall'elenco delle shell di login consentite in / etc / shells


Grazie. Eseguito l'upgrade di tempo fa e verificato oggi funziona in modo accettato.
circa
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.