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


1

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

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

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

谢谢

Answers:


0

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

whereis sftp-server

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

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

现在,用户只能访问系统的SFTP。


1
(1)更换外壳不安全,请参阅 semicomplete.com/articles/ssh-security (2)对于通过ssh运行的hg,应该调用远程服务器上的本地hg二进制文件,而不是ftpd。所以我认为你提供的不是一个可行的解决方案
GJ.

@GJ:对不起。有 一个脚本 包含在Mercurial发行版中,以帮助建立安全的SSH访问权限 hg。它还建议更改某些SSH设置以缓解链接中描述的问题。
Patches
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.