介绍
工作中,生产环境的服务器是无法直接访问的,通常需要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
- 建立
4A
SSH连接,配置隧道
,类型
:本地,监听端口
:本地未占用的某个端口,如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
服务器
|
|