Linux-如何配置SFTP服务器和本地Git存储库

Linux-如何配置SFTP服务器和本地Git存储库,git,unix,hosting,sftp,Git,Unix,Hosting,Sftp,目前我正在同一台服务器上配置SFTP和本地git存储库。将有两种类型的组:sftp用户&git用户。我已使用ChrootDirectory%h将sftp usres仅限制在其home目录中。现在,当我只允许sftp用户使用sftp(下载/查看文件)时,就不允许git用户通过putty登录或在客户端克隆项目 那么,在同一台服务器上配置这两种类型的组的最佳方法是什么,这样git用户就无法通过FTP客户端查看代码库了??任何建议都将不胜感激 我认为你在Git方面做得不对 而不是为SSH访问实现真正的系

目前我正在同一台服务器上配置SFTP和本地git存储库。将有两种类型的组:
sftp用户
&
git用户
。我已使用
ChrootDirectory%h
sftp usres
仅限制在其
home
目录中。现在,当我只允许
sftp用户
使用sftp(下载/查看文件)时,就不允许
git用户
通过putty登录或在客户端克隆项目


那么,在同一台服务器上配置这两种类型的组的最佳方法是什么,这样
git用户就无法通过FTP客户端查看代码库了??任何建议都将不胜感激

我认为你在Git方面做得不对

而不是为SSH访问实现真正的系统登录 (您称之为“通过putty登录”), 建议创建一个“虚拟”用户 (通常称为
git
) 让所有Git用户都使用这个单一用户 使用SSH登录系统- 同时又有一定的手段 根据SSH密钥区分不同的用户

这种区分通常使用 (通常这只是
安装gitolite

其思想是每个不同的Git用户都有自己的 SSH密钥,以及服务器上的虚拟系统用户
git
将gitolite提供的东西设置为其登录shell。 每个Git用户都以
git@server
但使用自己的SSH密钥 用于身份验证。用户登录后,SSH服务器 调用
gitolite
,它使用自己的用户密钥映射 对于个人用户而言,这在某种意义上是完全虚拟的 他们在服务器上没有帐户

这允许您将Git主机与SFTP主机完全解耦

另一种可能的解决方案是通过HTTP为Git存储库提供服务 而不是SSH。然后可以使用HTTP服务器的任何方法 对用户进行身份验证,这同样允许解耦 Git用户和SFTP用户的数据库。 (但是他们可以使用相同的身份验证后端,比如PAM, 如果需要,请参阅一个示例。)


作为旁白; 请使用类似于您的问题 (专用于软件配置/管理问题)