阻止某些用户直接访问 ssh 服务器上的文件(scp 或类似 ftp 的行为)

阻止某些用户直接访问 ssh 服务器上的文件(scp 或类似 ftp 的行为)

有没有办法允许用户仅通过 ssh 登录终端 shell,确保每个连接仅运行 .profile 文件上编写的脚本?

我们希望阻止用户访问服务器,而不是仅运行 .profile 上编写的脚本的类似 telnet 的终端会话。因此他们无法直接通过 scp/sftp 或运行任何任意命令(例如ssh user@server "cat file".

此 .profile 脚本准备当前 shell (bash) 以运行基于 ncurses 的应用程序,该应用程序通过命令启动exec(在当前 pid 上)。

但仅适用于某些特定用户。

答案1

ForceCommand中的配置选项就是sshd_config您正在寻找的内容。我建议您在那里设置应用程序,而不是依赖于.profile行为。

答案2

您可能想研究所有用户的command="whatever"设置。/etc/ssh/sshd_config我还没有测试过它,但使用command="/bin/bash .profile"可能会得到你想要的。

相关内容