AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 105712
In Process
Martin v. Löwis
Martin v. Löwis
Asked: 2010-01-24 14:18:01 +0800 CST2010-01-24 14:18:01 +0800 CST 2010-01-24 14:18:01 +0800 CST

锁定 git ssh 服务器

  • 772

我想通过 ssh 设置一个 git 服务器,并为该项目使用一个 SSH 帐户。所有项目成员的 ssh 密钥都应列在 authorized_keys 中。Lockdown 应该限制只做 git 的东西,并且只能在一个专用目录内。

创建此类设置的最佳方法是什么?有 git-shell,它显然可以锁定只执行 git 命令,但我不知道如何限制对单个目录的访问。还有各种 Python 和 Ruby 包装器——我应该信任其中的哪一个?

ssh git
  • 2 2 个回答
  • 4398 Views

2 个回答

  • Voted
  1. seanl
    2010-01-24T15:26:59+08:002010-01-24T15:26:59+08:00

    你可以看看gitosis或gitolite,gitolite 在授予对存储库的访问等方面更好,你不必担心让用户访问服务器等等

    • 4
  2. Alex Holst
    2010-01-24T15:10:36+08:002010-01-24T15:10:36+08:00

    你的威胁模型是什么?

    好人不小心破坏了 git 存储库或其他数据:确保您的用户只能写入他们的 homedir、tmp 和 git 存储库。每次提交后备份存储库并定期练习恢复过程。

    坏人窃取了某人的私钥并想拥有您的系统:您的攻击面仅限于受身份验证保护的 sshd 部分 - 以及您使用的任何 shell 接口,因此使其尽可能小。Python/Ruby 包装器涉及大量代码,并且存在大量错误空间。使用 git-shell 或考虑使用 sshd_config 中的 Match 和 ChrootDirectory 指令来限制用户可以访问文件系统的哪些部分。

    坏人窃取某人的私钥并获取您的源代码:教用户如何保护他们的私钥并建立快速撤销密钥的程序(例如,在凌晨 4 点呼叫谁来撤销密钥)。

    不要使用.ssh/authorized_keys,而是使用AuthorizedKeyfilesshd_config 中的关键字来指定用户没有写入权限的路径,例如/etc/ssh/keys/%u. 很难确保用户永远无法用自己的副本覆盖 .ssh/authorized_keys。

    此外,保持用户密钥文件和 sshd_config 版本受控以允许审计。

    • 2

相关问题

  • Mac OS X:如何在无头机器上运行 GUI 应用程序

  • Windows SSH 客户端

  • 在 Windows Server 2003 上通过 SSH 启动和停止 Mongrel 服务

  • 隧道 Xbox 网络流量 [关闭]

  • 为什么使用authorized_keys通过ssh自动登录不起作用?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve