代码之家  ›  专栏  ›  技术社区  ›  Afridi

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

  •  1
  • Afridi  · 技术社区  · 8 年前

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

    git用户 无法通过FTP客户端查看代码库??如有任何建议,我们将不胜感激!!!

    1 回复  |  直到 8 年前
        1
  •  1
  •   kostix    8 年前

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

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

    这种区分通常使用 gitolite (通常这只是 apt install gitolite ).

    想法是每个不同的Git用户都有自己的 SSH密钥和该虚拟系统用户 吉特 在服务器上 有提供的东西 硅钙石 设置为其登录shell。 每个Git用户以身份登录 git@server 但使用自己的SSH密钥 用于身份验证。用户登录后,SSH服务器 电话 硅钙石 ,它使用自己的用户密钥映射 对于个人用户, 这些都是纯虚拟的 在这个意义上 他们在服务器上没有帐户。

    这允许您将Git托管与SFTP托管完全解耦。

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


    your question if offtopic on SO ; 请使用 ServerFault 对于像你这样的问题 (专用于软件配置/管理问题)。