我必须保护由 netconf 通过 ssh 管理的 Linux 服务器。netconf 进程由配置的 ssh 子系统启动,并且正常工作。我的问题是关于禁止仅使用 netconf 的帐户从 ssh 命令行执行任何其他功能:例如,我希望“ssh[电子邮件保护]ls' 失败。
我目前的计划是使用 rbash 作为 shell,然后加强配置。我想知道是否有更简单的解决方案,例如我可以将 shell 设置为 /usr/sbin/nologin 或 /usr/bin/true 吗?
答案1
在该~/.ssh/authorized_keys
文件中,您可以设置某个私钥以仅运行某个命令。
答案2
我做了一些实验,发现 ssh 子系统是通过 'sh -c ...' 命令执行的。显然,没有办法避免登录 shell。
而看起来,唯一的出路就是加强 shell 级别的限制。