Я запускаю Debian стабільний і я хочу створити наступне середовище для користувачів моєї групи "sftponly":
- у в'язницю
- може передавати з SFTP
- може передавати з SCP
- не можна інтерактивно входити в систему з SSH
З моїх експериментів та досліджень, здається, що наступна строфа в sshd_config отримує мене на 90% там:
Match group sftponly
ChrootDirectory /sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Це дає мені ув'язнений SFTP і не SSH, що добре. Але це також відключає SCP, що є менш ніж ідеальним, оскільки досить багато клієнтів є застарілими, сценаріями, які використовують SCP, а не SFTP (сервер, який ми замінюємо, підтримує обидва протоколи), і оскільки ці клієнти не під нашим контролем і легко модифіковано, ймовірно, не можна повністю відключити SCP.
Має сенс, що ця конфігурація відключить SCP, оскільки вхідні з'єднання SCP викликають виникнення sshd 'scp' процесу через оболонку входу користувача, як цього користувача. Здається, що це було б звичайно і з SFTP, якби не спеціальний обробник 'Internal-sftp'.
Отже, я вважаю, що моє запитання таке: чи є спосіб досягти такого ж ефекту, що і "Internal-sftp", але для SCP, не вдаючись до використання сторонніх інструментів, таких як scponly та rssh? Насправді приємна річ про "Internal-sftp" полягає в тому, що вона не потребує встановлення в'язниці з файлами підтримки або роботи з потенційно експлуатованими сторонніми встановленими бінарними файлами (зокрема, rssh має історію подвигів).