介绍
工作中,生产环境的服务器是无法直接访问的,通常需要4A,访问比较麻烦,可以使用 ssh隧道 简化登录流程。
如下图

ssh登录4A后,无法直接访问 server-2,可以通过 server-1 服务器代理访问。
具体流程
- ssh登录4A,新建隧道
- 使用4A的隧道作为代理,ssh访问
server-1服务器,在server-1上新建隧道 - 使用
server-1隧道代理访问server-2服务器
使用bitvise配置
-
安装
bitvise ssh client,下载地址:https://www.bitvise.com/download-area -
新开一个bitvise页面,假设
4A系统内网IP为192.168.15.45:10011,添加用户名、密码等登录信息,点击Save profile,将该配置保存。

- 新开一个bitvise页面,填入
server-1的IP、端口和登录信息,在Proxy settings中,选择第二步保存的4A配置文件,这样就可以使用4A作为代理访问server-1了。(第二步不需要登录了)

因为的目标服务器server-2还需要使用server-1代理才可以访问,所以还需要打开Services选项卡,勾选SOCKS/HTTP Proxy Forwarding,将本地空闲的端口如1079填入Listen Port;

点击Login,登录到server-1服务器
- 打开一个新的bitvise页面,填入目标服务器
server-2的IP、端口和登录信息,Proxy Setting配置使用server-1服务器开放的1079代理端口。

为了能够访问 server-2 服务器上的网页服务,比如jenkins,还需要在Services标签页中开放代理,比如使用本地未使用的端口1080作为代理端口

- 本地浏览器可以使用
SwitchyOmega插件,将目标服务器上的jenkins等地址配置使用127.0.0.1:1080代理访问。
使用finalshell配置
bitvise仅支持windows系统,如果在linux(如:ubuntu)上访问目标服务器,可以使用finalshell
- 建立
4ASSH连接,配置隧道,类型:本地,监听端口:本地未占用的某个端口,如1078;绑定IP: 127.0.0.1,绑定本地IP;目标地址:使用该隧道访问的地址,此处为server-1服务器地址 10.246.100.5;目标端口:目标地址对应的端口,此处为 10000

- 建立
server-1的SSH连接,主机和端口使用4A连接隧道中的绑定ip和监听端口,同时还需建立隧道,供访问server-2服务器代理。

- 建立目标服务器
server-2的SSH连接,同理,主机和端口填入server-1隧道的绑定ip和监听端口,这样就能访问到目标服务器了(需要同时开启4A和server-1的ssh连接),为了访问目标服务器上的网页,还需要在该连接上新建socks5代理隧道

- 本地浏览器可以使用
SwitchyOmega插件,将目标服务器上的jenkins等地址配置使用127.0.0.1:1080代理访问。
使用ProxyJump配置
在linux系统上,也可以使用ProxyJump实现访问server-2服务器,缺点:无法配置socks5代理实现访问目标服务器的网页服务。
如果想在 Windows 上使用 ssh 的 proxyjump 功能,需要使用一个支持该功能的 ssh 客户端。推荐使用 OpenSSH 。
Windows 安装 OpenSSH 参考:
https://learn.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse
- 在
$HOME/.ssh/config文件新增如下内容
|
|
- 在终端输入
ssh 55.250.10.20,然后输入abc用户的密码,即可ssh连接到server-2服务器
|
|