翼度科技»论坛 云主机 LINUX 查看内容

使用SSH从公网服务器简易使用内网任意机器服务,比如从外部下载代码

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
如果有一个台外部的机器waibu-host, 位于阿里云, 腾讯云, 亚马逊, azure云等等; 
假设你想从这个waibu-host上访问公司任意服务,下载代码, 访问http服务,等等, 或者你机器上的服务, 不需要额外工具, 只要ssh 反向就可以实现;
 
借个图, 如下:

 
举个例子, 如果你想从公司内部通过git ssh下载gitlab代码, 该怎么做呢?
假设内部的gitlab  ssh下载地址为 gitlab.inner.com:2222
第一步:  内部你的公司机器上运行ssh 反向代理, 建立隧道;
            这条命令会在你的机器上起一个代理,  waibu-host上起一个监听端口2222
  1. 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配置
  1. # cat ~/.ssh/config
  2. Host gitlab.inner.com
  3.    HostName 127.0.0.1
  4.    User git
  5.    IdentityFile ~/.ssh/id_rsa
  6.    Port 2222
复制代码
第三步: 在公司内部的gitlab上你的账户下, 增加ssh key凭证; 将waibu-host上的公钥增加到你的账户下.
如果已有秘钥, 忽略这一步;
如果没有想生成秘钥, 可如下操作
  1. # ssh-keygen -t rsa -b 1024
  2. #连续回车, 这样在~/.ssh/下就产生了 id_rsa id_rsa.pub秘钥, 在公司内部gitlab上增加 id_rsa.pub秘钥
复制代码
 
第四步: 在waibu-host验证 ssh 到gitlab是不是成功了; 如果看到下面的输出, 就是成功了; 如果没有, 回头检查一下
  1. # ssh -T -p 2222 gitlab.inner.com -l git
  2. Welcome to GitLab, @user!
复制代码
第五步: 在waibu-hos愉快的下载代码, 例如下面; 这样, 即使你的代码中还嵌套了内部的gitlab地址, 仍然可以愉快的使用
  1. git clone ssh://gitlab.inner.com:2222/project/modules...
复制代码
 

来源:https://www.cnblogs.com/tongai/p/18154657
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具