змусити сервер Linux дозволити rsync / scp / sftp, але не вхід у термінал


6

Я хотів би налаштувати вікно Linux (можливо сервер Ubuntu), щоб я міг налаштувати користувачів, щоб можна було завантажувати / завантажувати файли через rsync / scp / sftp, але це не повинно бути можливим ssh на машину і отримати інтерактивний термінал.

Чи можливо це? Як би я пішов про налаштування цього? Я знаю, що все, що мені знадобиться, щоб ssh-сервер був увімкнено, щоб rsync / scp / sftp працював, але, мабуть, повинен бути спосіб запобігти прямому входу.


Я не думаю, що це можливо, тому що вам потрібно ім'я користувача та перейти, щоб використовувати rsync, той, хто має ім'я користувача та пароль, може увійти, навіть якщо створити ключ ssh тільки для rsync, не буде працювати, хотілося б, якщо він виявиться неправильним, хоча
Ліноб

Можна дозволити лише SFTP з Match User ... / ForceCommand Internal-sftp sshd_config. Але дозволити кілька програм я не можу допомогти.
mveroone

Вам потрібна в'язниця Chroot , SourceForge реалізує дуже хороший, але я не можу знайти документацію на це.
justbrowsing

Відповіді:


6

Встановіть оболонку користувачів на rssh . На сторінці сторінки:

rssh - обмежена безпечна оболонка, що дозволяє лише scp та / або sftp


Це не дозволяє rsync, лише sftp.
Агостон Хорват

Я можу перевірити це пізніше, однак у документації зазначено:> Тепер він також включає підтримку rdist, rsync та cvs
SlightlyCuban

1
Я виправлений: він підтримує rsync, але за замовчуванням він відключений на ubuntu. Однак є конфігураційний файл /etc/rssh.conf, де можна дійсно глибоко уточнити rssh. Дякую за інформацію!
Агостон Хорват

2

Якщо вам потрібно дозволити лише rsync, розробники rsync надають rrsyncсценарій для вирішення вашої проблеми. Він доступний тут: http://ftp.samba.org/pub/unpacked/rsync/support/rrsync

Вам просто потрібно додати щось подібне до свого .authorized_keysфайлу (цей приклад дозволяє отримати доступ лише до читання ( -ro) /some/directory/:

command="/path/to/rrsync -ro /some/directory/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAA...

Більш детальне пояснення та приклад доступні тут: https://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/


1

Ви можете використовувати псевдо-оболонку типу scponly і встановити це для користувачів, які не хочуть входити безпосередньо.

Інший можливий спосіб - встановити команду входу у файл авторизованих ключів, але це працює лише у випадку, якщо ваші користувачі входять через SSH-ключі, а не через пароль.

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