我的 Linux 系统上有一个用户,只允许使用 SSH 访问和scp
,但不允许在 SSH 会话中进行 shell 会话。我想知道一种安全的设置限制的方法。sftp
rsync
典型的答案是限制用户的 shell,将/etc/passwd
默认 shell 设置为rssh
。但是,更改默认 shell 显然也会影响依赖于 SHELL 环境变量的其他应用程序。例如,在最新的 Fedora 22 上,它似乎会影响调用默认 shell 的 less 命令,因此用户在rssh
运行 less 命令时会收到奇怪的警告(例如,当被另一个未通过 SSH 连接的用户 sudo 时)。可能还有其他程序受到更大、更严重的影响。
设置用户的authorized_keys来限制程序运行实际上不起作用,因为他可以使用sftp
/scp
将其更改为不受限制的内容。
那么,还有什么其他方法可以限制用户的访问?