Дозволений scp, але не ssh - без scponly


8

Я переміщую сервер Debian на Ubuntu 16.04. Одним із пакетів на сервері Debian є те, scponlyщо діє як оболонка і дозволяє ssh-з’єднання лише для scp цілей (не входити в систему чи не виконувати нічого, крім scpбінарного). Деталі можна знайти тут . Цей пакет був на Debian через щонайменше 2 оновлення фізичних серверів, безліч оновлень ОС, і, ймовірно, датується приблизно 2007 роком.

scponlyне знаходиться в жодному сховищі 16.04 і не компілюється на панелі запуску. Незважаючи на те, що я цілком здатний встановити його з джерела, все-таки мене здивувало, чи існує в останні 10+ років кращий спосіб налаштування ssh для дозволу тільки scp-команд, тобто більш зручним для Ubuntu 16.04 і менш заснованим на тьмяному і далеке минуле. Будь-які ідеї?

Відповіді:


15

Відповідно до цієї відповіді на сервер default.com Дозволити SCP, але не фактичне вхід за допомогою SSH , один підтримуваний на даний момент спосіб - це використання rssh, яке доступне в universeсховищі:

sudo apt-add-repository universe

sudo apt-get install rssh

Щоб дозволити SCP, вам слід відміняти відповідний рядок у /etc/rssh.confфайлі (плюс будь-які інші протоколи, які ви хочете включити):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

Тоді це лише питання зміни оболонки входу користувача на оболонку rssh, наприклад

sudo chsh -s /usr/bin/rssh steeldriver

Потім ви можете перевірити, що SCP працює, наприклад

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

але SSH повинен вийти з ладу з таким повідомленням про відхилення

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

Зауважте, що, здається, не потрібно додавати /usr/bin/rsshдо списку дозволених оболонок для входу в / etc / shell


Дякую. Оновлено деякий час тому і перевірено сьогодні, це працює так прийнято.
abligh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.