Назад | Перейти на главную страницу

Linux измените sshd_config, чтобы позволить пользователю использовать удаленный терминал (командная строка)

Я могу использовать SSH и выполнять команды от имени системного администратора. Я также настроил некоторых пользователей на использование SFTP "в тюрьме".

Как я могу изменить следующий файл sshd_config, чтобы позволить TestUser2 выполнять как заключенный в тюрьму SFTP (ограниченный его каталогом), так и запускать команды с удаленного терминала. Например, в WinSCP вы можете нажать CNTL-P, чтобы открыть окно командной строки.

Subsystem sftp /usr/lib/openssh/sftp-server 

#SFTP ONLY 
    Match User TestUser1
       ChrootDirectory %h 
       X11Forwarding no 
       AllowTcpForwarding no 
       PermitTTY no 
       PasswordAuthentication no
       PubkeyAuthentication yes
       ForceCommand internal-sftp 

#SFTP Plus Command Line 
    Match User TestUser2 
       ChrootDirectory %h 
       X11Forwarding no 
       AllowTcpForwarding no 
       PermitTTY yes 
       PasswordAuthentication no
       PubkeyAuthentication yes
       ForceCommand internal-sftp 

Я использую Ubuntu 20.04, но думаю, что вопрос общий.

Обновление: я почти уверен, что «ForceCommand internal-sftp» - это то, что позволяет пользователю выполнять только SFTP, а не какие-либо другие команды оболочки. Но я знаю, что мой пользователь root может выполнять как команды SFTP, так и команды оболочки, поэтому хотел бы знать, как это сделать для user = TestUser2 выше.

Что вы хотите сделать, так это "удалить корень". Я не знаю, разрешает ли SSH это действие, поскольку SSH глобален для всех пользователей. Однако вы можете попробовать ACL заблокировать все другие каталоги для этого пользователя.