使用跳板机进行端口转发-插件版
# 介绍
在Windows的时候,可以使用Bitvise SSH Client进行端口转发很方便,但是换成Mac系统的时候,找不到类似的工具。只能手撕代码进行转发,但是不同环境不同端口一多,就很浪费时间,故而写了一个脚本工具以便开启端口。
因为跳板密码需要明文放在脚本中,不太安全,所以分为两个文件,一个作为开启端口列表文件,一个为存储跳板密码开启端口脚本。可以对脚本进行加密,端口列表文件则明文开放。
所有文件存储地址为
链接:https://pan.baidu.com/s/1XuFDag7I9fQMw0MG7UYBcQ 提取码:0i9n
# 准备工作如下
在使用脚本之前需要安装sshpass(原因为写脚本的时候已经使用/bin/bash,而没有使用/usr/bin/expect,为了方便就直接使用sshpass了)
网上安装方式比较多,这里也说明一下 根据下载到的sshpass.rb文件进行安装
先赋权
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
2
3
安装sshpass.rb。文件需要写下载到你电脑的绝对路径
brew install sshpass.rb
# 开始针对你需要的跳板机账号密码以及端口进行修改
文件1:forward.sh
tiaobanip为跳板机的ip地址
tiaobanmima为跳板机的密码
tiaobanduankou为跳板机的ssh端口号
文件2:portList.txt
在“localPort-serverIp-serverPort”和“------------end--------------”行中间写跳转信息
本地端口号:远程服务器ip地址:远程服务器端口号
含义为:
第一个为映射后自己电脑的端口号
第二个为目的服务器ip地址
第三个为目的服务器端口号
例:
18501:192.168.122.31:8500
含义是映射192.168.122.31服务器地址的8500端口,变成本地127.0.0.1的18501端口号
# 脚本命令示例
命令1用于根据portList.txt文件端口号列表启动隧道
forward.sh portList.txt startbytxt
命令2用于根据portList.txt文件端口号列表关闭隧道
forward.sh portList.txt stopbytxt
命令3用于关闭所有隧道端口
forward.sh portList.txt stop
命令4用于关闭所有隧道端口并根据portList.txt文件端口号列表启动隧道
forward.sh portList.txt restart
命令5用于展示所有已经开启的隧道宽口
forward.sh portList.txt alllist
注:以上所有命令脚本要路径正确,例如
/Users/wuxiaoku/Documents/forward.sh /Users/wuxiaoku/Documents/portList.txt stop
附:安装brew命令
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"