从不受信任的计算机使用ssh私钥
我目前正在从不受信任的计算机上工作,我想使用ssh身份验证从此(不可信)计算机提交/提交更改。我可以访问我的私人计算机(可信)。这里是我的设置内容摘要:从不受信任的计算机使用ssh私钥
- 的Git服务器访问只使用ssh(不允许HTTPS验证)
- 可信计算机访问到GIT服务器的SSH
- 不可信计算机没有访问到git sever但访问我的信任的计算机
你会在这种情况下做什么? (我不能将文件从不受信任的计算机复制到受信任的计算机上,我希望这个项目的文件留在不受信任的计算机上,但如果我实际上不存储它们,我可以将它们发送给受信任的计算机)。他们的主要想法是,我不希望其他人使用不受信任的计算机访问我在git服务器上的其他项目。
您可能会尝试脱离使用您的可信计算机作为SSH jump host。
到SSH隧道的另一种通过网关访问内部机器 使用跳跃主机。
想法是使用
ProxyCommand
在远程主机上自动执行ssh命令 跳转到下一个主机并转发所有通信。
这应该需要在SSH客户端周围编写一个包装脚本并设置GIT_SSH
env。变量指向它—看到 在git help git
“环境变量”部分:
GIT_SSH
,GIT_SSH_COMMAND
如果这些环境变量被设置,那么GIT中取和git推 将使用指定的命令而不是ssh,当他们需要 连接到远程系统。该命令将给出恰好两个 或四个参数:
[email protected]
从 URL和外壳命令到该远程系统上执行(或只是host
) 任选被-p
(字面)之前和从URL当端口 它指定了除默认SSH端口以外的其他内容。
$GIT_SSH_COMMAND
优先于$GIT_SSH
, 并且由外壳,它允许包括附加的 参数解释。另一方面,$GIT_SSH
必须是 只是程序的路径(如果需要其他参数,它可以是包装程序外壳 脚本)。通常通过 个人
.ssh/config
文件配置任何所需的选项更容易。请查阅您的ssh文档获取更多详细信息, 。
(我beleive的SSH_COMMAND
是一个相当最近除了Git的。)
谢谢您的回答。我发现了另一种解决方案,可能不如你说的那么安全,但是在我的设置中做了哪些工作。我只是使用由git服务器识别的私钥,但我使用强密码保护它以使其仅由我和其他用户访问。在这种情况下,您是否发现了其他威胁而非蛮力攻击? – LucG