git - 如何配置系统通过 ssh 反向隧道/代理使用 git?
问题描述
环境: 我的本地主机可以访问我的 VPN。我的远程主机需要通过我的本地主机访问 VPN。我只能从本地主机 ssh 到远程主机。我已经设置了一个隧道来访问我的远程主机上的外壳。
我使用密钥从本地主机到远程主机的 ssh 设置,没有密码提示。
这允许我从本地主机运行 VNC 来访问我的远程主机。
问题:
我的远程主机有 git repos 需要更新,但通过本地主机的 VPN。即,当我在远程主机上执行git pull
命令时,它将通过从本地主机创建的隧道访问 VPN git 存储库。
我已经阅读过ssh -R
ssh .config 有一个 ProxyCommand,但是把它放在一起是一团糟。
解决方案
您可以RemoteForward
在您的.ssh/config
HOST remoteHost
hostname remotehost.somewhere.com
user <username>
RemoteForward 127.0.0.1:2022 <VPN-GitHost>:22
这会将端口 22 从您的 VPN 发布到您的 remoteHost,但将端口号更改为 2022。
在您的远程主机上,您可以通过 ssh(以及 git)使用该端口,例如
ssh myuser@localhost -p 2022
或者编辑远程主机上的 .ssh/config
HOST VPN-gitHost
hostname localhost
port 2022
那么您git pull
应该无需任何修改即可工作
推荐阅读
- c - C - 在棋盘游戏中实现撤消
- angular - NgRX 的角度错误 - 实体类型 [x] 没有 EntityDefinition
- javascript - JAVASCRIPT 中 void 类型的异步函数
- python - 我想使用 matplotlib 从数据框中绘制多个变量,但最终的图看起来很奇怪
- r - 在带有 facet 的 ggplot barplot 的图例上方(或下方)添加文本(或注释)
- vue.js - Vue:如何导航到特定用户的个人资料
- visual-studio-code - 有没有热键方法可以在 vscode 的右下角隐藏此消息?
- c++ - 如何从非常量对象创建常量对象
- reactjs - React 功能组件未渲染,因为它没有按时获取参数
- python - 如何从 python 中的 .tar 存档中提取特定文件?