前言
由于安全性问题,公司的对外的服务器需要先连接跳板机,再进一步访问。也就是说,假设要往生产服务器上传输文件,先需要传入文件至跳板机,再从跳板机传送文件至内网服务器。这样就导致开发或者传输文件十分麻烦。下面可以通过两种方式提升效率,本质都还是使用ssh隧道
。
finalshell
finalshell
是Mac OS上一款开源的终端编辑器,借助其提供的可视化界面,可以轻松地进行文件的传输。下面详细介绍下如何使用finalshell
进行配置。假设跳板机地址为11.22.33.444
,用户名和密码皆为tiaobanji
;内网服务器地址为555.66.77.88
。
首先在finalshell
中新建SSH连接,如下图所示:
之后,点击图上左侧最后一个隧道,进行如图配置。
如图所示,主要配置监听端口,可以随意选取合法的端口数字,以及目标地址,目标端口固定为22。这样做之后,每次连接跳板机,本地的6000端口便会等价于内网服务器的22端口。之后便可以通过访问本地6000端口,连接到服务器。
ssh命令
使用命令ssh -N -f -L 6000:555.66.77.88:22 -p 22 tiaobanji@11.22.33.444 -o TCPKeepAlive=yes
,在命令行使用上述命令后,再ssh至本地的6000端口,原理和上述方式一样。之后,如果不希望本地的6000端口一直开着,可以使用lsof -i:6000
查看该进程并杀死即可。
但是有的时候可能连端口都不记得,这个时候可以使用ps -A | grep ssh
找到后台的执行进程,再操作即可。