出差在外,需要访问单位内网的服务器(172.xxx.xxx.xxx),有相应账号密码一套,同时还有一台可以从外网接入的跳板机/堡垒机(159.xxx.xxx.xxx),另有账号密码一套。
最简单的实现方法当然是ssh两次,但这样没法使用sftp功能,所以尝试设置常用的ssh APP - webssh的tunnel功能。但这个神奇的软件是一个德(?)国人个人开发的,官方的文档网站竟然404 no found,搜索引擎也是遍地搜不着这个软件的相关使用心得,只能自己琢磨着设置,好不容易最后成功了,设置如下
原理如下图:tunnel的功能是从本地登陆跳板机159,并令本地起端口654映射到目标机器172的默认端口22. 启动tunnel后,再登陆本地起的端口,该端口已经被映射到了目标机器的默认端口,因此需要输入目标机器的账号密码。
tunnel设置如下
ssh设置如下
P.S.在使用tunnel的情景下是可以直接使用sftp和scp的,但先登录跳板机再ssh到目标服务器的话,使用scp会把文件保存到跳板机的相应位置。使用tunnel的情况下,iPad可以通过App提供的sftp相关功能进行文件的上传下载,本地文件夹一般是app自己的目录下的文件夹,想要保存到文件的话需要自己去文件里把它抠出来。