如何设置只能通过 ssh 访问存储库的 Linux 用户?

如何设置只能通过 ssh 访问存储库的 Linux 用户?

我在安全服务器上有一个 mercurial 存储库,我想授予外部用户安全访问权限。

我为他添加了一个用户帐户和公钥 ssh 身份验证,以便他现在可以通过 ssh 推送/拉取变更集。

我的问题是:如何才能让这个新用户帐户完全无法执行任何操作或访问服务器上的任何数据(除了访问存储库)?例如,他甚至不应该有进入交互式 shell 会话的可能性。

谢谢

答案1

运行此命令来找到服务器上的 sftp-server 二进制文件:

whereis sftp-server

然后运行此命令将用户的 shell 设置为 sftp-server 程序,并将其位置更改为上面发现的位置:

chsh -s /usr/lib/sftp-server hg-user

现在用户只能通过 SFTP 访问系统。

相关内容