为 Unison 创建具有最少权限的 SSH 用户

为 Unison 创建具有最少权限的 SSH 用户

我想在我的服务器上共享一个目录,以便同事可以通过 Unison(双向同步)同步它。我不希望他能够通过 ssh 访问读取服务器上的文件。最好是 ssh 用户无法登录,而只能通过 unison 同步。我该如何实现?

答案1

您可以使用文件command=中的选项authorized_keys在用户通过 ssh 连接时强制运行 Unison。这意味着他们无法获得登录 shell。您还可以在此文件中禁用端口转发和其他 ssh 功能。

~/.ssh/authorized_keys行看起来像这样(请注意-serverUnison 的选项):

command="/usr/bin/unison -server",no-port-forwarding,no-X11-forwarding,no-pty,no-agent-forwarding,no-user-rc ssh-rsa AAAAB3NzaC1y....

我还没有测试过这个。

有关command=ssh 选项的更多信息,请参阅使用授权密钥限制可执行的 SSH 命令

或者,您可以使用 VPN 或 ssh 端口转发来加密 Mike Pierce 上面提到的套接字方法中的连接,但这可能更复杂。

相关内容