Mengizinkan scp tetapi tidak ssh - tanpa scponly

8

Saya memigrasi server Debian ke Ubuntu 16.04. Salah satu paket di server Debian adalah scponlyyang bertindak sebagai shell dan mengizinkan koneksi ssh hanya untuk tujuan scp (tidak masuk atau menjalankan apa pun selain scpbiner). Detail dapat ditemukan di sini . Paket ini telah di Debian melalui setidaknya 2 peningkatan server fisik, peningkatan OS yang tak terhitung jumlahnya, dan mungkin tanggal dari sekitar 2007.

scponlytidak ada dalam repositori 16.04, dan tidak dikompilasi di launchpad. Sementara saya cukup mampu menginstalnya dari sumber, ini membuat saya bertanya-tanya apakah dalam 10+ tahun terakhir ada cara yang lebih baik untuk mengkonfigurasi ssh untuk mengizinkan perintah scp saja, yang lebih ramah Ubuntu 16,04, dan lebih sedikit berbasis di redup dan masa lalu yang jauh. Ada ide?

abligh
sumber

Jawaban:

15

Menurut jawaban serverfault.com ini, Izinkan SCP tetapi bukan login sebenarnya menggunakan SSH , salah satu cara yang didukung saat ini adalah dengan menggunakan rssh, yang tersedia dari universerepositori:

sudo apt-add-repository universe

sudo apt-get install rssh

Untuk mengizinkan SCP, Anda harus menghapus tanda komentar pada baris yang sesuai dalam /etc/rssh.conffile (ditambah protokol lain yang ingin Anda aktifkan):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

Maka itu hanya masalah mengubah shell login pengguna ke shell rssh, misalnya

sudo chsh -s /usr/bin/rssh steeldriver

Anda kemudian dapat menguji apakah SCP berfungsi misalnya

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

tetapi SSH akan gagal dengan pesan penolakan seperti

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

Perhatikan bahwa tampaknya tidak perlu menambahkan /usr/bin/rsshke daftar shell login yang diizinkan di / etc / shells

Steeldriver
sumber
Terima kasih. Terpilih beberapa saat yang lalu dan diperiksa hari ini berfungsi dengan sangat baik.
Abligh