我正在使用 sshuttle 命令,理想情况下,我想将其用作服务,或者至少无需输入 root 密码。
问题在于,有一个 -e 参数可以自定义 ssh 调用,而 sshuttle 本身会对此发出警告。但是,然后使用 --sudoers-no-modify 命令建议创建 sudoers 规则:
(shortened by me)
me ALL=NOPASSWD: /usr/bin/sshuttle *
大多数教程通过忽略此安全问题来解决它,但我不喜欢以这种方式授予用户完整的 root 权限。有没有办法安全地将 sshuttle 添加到 sudoers 文件中。例如,我不能使用 NOEXEC,因为它需要执行 ssh。我可以在 sudoers 文件中指定确切的命令行,但我不知道这是否足以不打开安全漏洞,模式匹配在这里究竟是如何工作的,以及我是否不应该以不同/更好的方式做到这一点。
答案1
查看文章 使用 Sshuttle 作为服务。
sshuttle 客户端只需要 sudo 权限即可修改防火墙。本文介绍的方法避免了此问题,并允许非 root 用户启动 Ssshutle 并修改防火墙的端口 12xxx。
文章太长,无法在此总结。