恶意用户能否绕过 ssh authorized_keys 强制命令?

Web*_*ide 4 ssh

使用 Linux 和 Openssh:

用户可以使用 ssh 连接到他的密钥在authorized_keys 列表中的服务器。他的公钥前面是command="command..."which 强制执行特定命令(非 shell):

command="/path/to/somescript...",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-user-rc ssh-rsa AAAff...................

  • 有没有办法让用户绕过这个命令?
  • sftp呢?使用强制命令(不是 shell)时 sftp 是否工作?

Jer*_*y M 10

如果允许的命令集包括 sftp 守护进程(或 internal-sftp),则将允许 SFTP。但是,如果您在authorized_keys 文件中设置了强制命令并且用户具有sftp 访问权限,则无需额外的工作,他们就可以用一个不限于您定义的文件来替换该文件。这当然适用于用户可以指示修改该文件(有意或通过欺骗它)的任何应用程序。更好的选择可能是在主 sshd_config 中按用户或组进行限制,可能使用 ChrootDirectory。