|
如果有一个台外部的机器waibu-host, 位于阿里云, 腾讯云, 亚马逊, azure云等等;
假设你想从这个waibu-host上访问公司任意服务,下载代码, 访问http服务,等等, 或者你机器上的服务, 不需要额外工具, 只要ssh 反向就可以实现;
借个图, 如下:
举个例子, 如果你想从公司内部通过git ssh下载gitlab代码, 该怎么做呢?
假设内部的gitlab ssh下载地址为 gitlab.inner.com:2222
第一步: 内部你的公司机器上运行ssh 反向代理, 建立隧道;
这条命令会在你的机器上起一个代理, waibu-host上起一个监听端口2222- ssh -i ./ssh-key.pem -ngfNT -R 2222:gitlab.inner.com:2222 user@waibu-host
复制代码 命令运行完毕, 在waibu-host上可以看到2222端口监听, 访问2222就可以通过你的机器(建议用linux) 代理到内部的 gitlab上;
第二步: 在waibu-host对ssh再做一点配置, 如下, 让下载代码的解析到本地, 并且增加用户和key配置- # cat ~/.ssh/config
- Host gitlab.inner.com
- HostName 127.0.0.1
- User git
- IdentityFile ~/.ssh/id_rsa
- Port 2222
复制代码 第三步: 在公司内部的gitlab上你的账户下, 增加ssh key凭证; 将waibu-host上的公钥增加到你的账户下.
如果已有秘钥, 忽略这一步;
如果没有想生成秘钥, 可如下操作- # ssh-keygen -t rsa -b 1024
- #连续回车, 这样在~/.ssh/下就产生了 id_rsa id_rsa.pub秘钥, 在公司内部gitlab上增加 id_rsa.pub秘钥
复制代码
第四步: 在waibu-host验证 ssh 到gitlab是不是成功了; 如果看到下面的输出, 就是成功了; 如果没有, 回头检查一下- # ssh -T -p 2222 gitlab.inner.com -l git
- Welcome to GitLab, @user!
复制代码 第五步: 在waibu-hos愉快的下载代码, 例如下面; 这样, 即使你的代码中还嵌套了内部的gitlab地址, 仍然可以愉快的使用- git clone ssh://gitlab.inner.com:2222/project/modules...
复制代码
来源:https://www.cnblogs.com/tongai/p/18154657
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|