Linux 更改 sshd_config 以允许用户使用远程终端(命令行)

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,而不执行任何其他 shell 命令。但我知道我的 root 用户可以同时执行 SFTP 和 shell 命令,因此想知道如何对上面的 user=TestUser2 执行此操作。

答案1

您要执行的操作是“删除 root”。我不知道 SSH 是否允许此操作,因为 SSH 对所有用户都是全局的。但是,您可以尝试 ACL 来禁止此用户的所有其他目录。

相关内容