有没有办法允许用户仅通过 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"
可能会得到你想要的。