Zezwolenie na scp, ale nie ssh - bez scponly


8

Przeprowadzam migrację serwera Debian do Ubuntu 16.04. Jeden z pakietów na serwerze Debian scponlydziała jako powłoka i zezwala na połączenia ssh tylko do celów scp (bez logowania lub uruchamiania innych niż scpbinarne). Szczegóły można znaleźć tutaj . Ten pakiet był już dostępny w Debianie przez co najmniej 2 fizyczne aktualizacje serwera, niezliczone aktualizacje systemu operacyjnego i prawdopodobnie pochodzi z około 2007 roku.

scponlynie ma go w repozytorium 16.04 i nie jest kompilowany na starterze. Chociaż jestem w stanie zainstalować go ze źródła, zastanawiałem się, czy w ciągu ostatnich 10 lat istnieje lepszy sposób skonfigurowania ssh, aby zezwalał tylko na polecenia scp, czyli bardziej przyjazny dla Ubuntu 16.04, a mniej oparty na dim i odległa przeszłość. Jakieś pomysły?

Odpowiedzi:


15

Zgodnie z odpowiedzią serverfault.com Zezwalaj SCP, ale nie faktyczne logowanie przy użyciu SSH , jednym z obecnie obsługiwanych sposobów jest użycie rssh, które jest dostępne z universerepozytorium:

sudo apt-add-repository universe

sudo apt-get install rssh

Aby zezwolić SCP, musisz odkomentować odpowiedni wiersz w /etc/rssh.confpliku (oraz wszelkie inne protokoły, które chcesz włączyć):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

Następnie wystarczy zmienić powłokę logowania użytkownika na powłokę rssh, np

sudo chsh -s /usr/bin/rssh steeldriver

Następnie możesz sprawdzić, czy SCP działa, np

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

ale SSH powinien zawieść z komunikatem o odrzuceniu, takim jak

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

Zauważ, że dodanie /usr/bin/rsshdo listy dozwolonych powłok logowania w / etc / shells nie wydaje się konieczne


Dzięki. Głosowałem jakiś czas temu i sprawdziłem, czy dziś działa tak zaakceptowany.
abligh 12.07.16
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.