下面我整理一个较为通用、实用的 “Connecting to LandInsight 的 SFTP 与 GIS 服务器” 指南 / 模板(基于你提供的博客中那篇 “Connecting to Land Insight SFTP and GIS Servers” 的内容 + 我自己的经验),你可以拿这个流程去做实际连接或修改成你那边的版本。
(注:以下内容中有些 IP / 端口 /用户名 /密钥等是博客中示例数据,不一定和你实际环境一致,需要你替换。)
参考博客内容: “Connecting to Land Insight SFTP and GIS Servers” (博客园)
一、环境 & 准备
在连接 SFTP / GIS 服务器之前,需要准备以下:
项目 | 说明 / 要求 |
---|---|
Bastion(堡垒机 / 跳板机) | 用来作为中转,通常公网 IP 对外可访问,内部连接内网资源 |
私钥 / PPK 文件 | 用于 SSH 验证或隧道连接 |
用户名 / 密码 / Passphrase | 对应的登录凭证 |
本地端口映射 (SSH 隧道) | 用于把内部服务器端口映射到本地端口,通过隧道访问 |
客户端软件 | Putty / FileZilla / WinSCP / SSH 客户端 / 远程桌面工具等 |
目标服务器 IP / 内网地址 /端口 | SFTP 服务器 IP / 内网 GIS 服务器 IP /端口等 |
在博客示例中,LandInsight 给了如下信息:
- Bastion 公网 IP:44.250.82.181 (博客园)
- 内部服务器:LI-GIS (Windows) 内网 IP 10.0.9.147,SFTP1 为 10.0.12.52,SFTP2 为 10.0.15.66 (博客园)
- 提供了用户名 / 密码 / Passphrase /私钥 PPK 文件 (博客园)
二、连接流程(步骤详解)
以下是根据博客 + 通用做法整理的连接流程:
步骤 1:连接到 Bastion 服务器(SSH)
- 打开你的 SSH 客户端(如 Putty / OpenSSH /终端等)。
- 配置连接参数:
- 主机 (Host):Bastion 公网 IP(如 44.250.82.181)
- 端口 (Port):22
- 认证方式:使用私钥文件 (PPK / PEM) + 用户名 + 若有 Passphrase 则输入 Passphrase
- (在 Putty 中)在左侧 SSH → Auth 中设置私钥文件路径。
- 在左侧 SSH → Tunnels 中设置端口转发(本地端口映射):
- Source Port:50001,Destination:10.0.12.52:22
- Source Port:50002,Destination:10.0.15.66:22
- Source Port:50003,Destination:10.0.9.147:3389
然后点击 “Add” 添加这些隧道转发。 (博客园)
- 保存会话配置(可命名为 “Bastion nonPROD” 等),然后打开连接。
- 输入用户名 + Passphrase / 密钥口令后,即成功连接 Bastion。
这样你实际上在本地开启了三个隧道,分别映射了不同内部服务器 / 端口。
步骤 2:访问 GIS 服务器(通过 RDP /远程桌面)
在博客示例中,GIS 服务器是 Windows 系统,可以通过 RDP 远程桌面访问。连接流程如下:
- 打开远程桌面客户端(Remote Desktop / mstsc /其他工具)。
- 在 “Computer” 输入框输入
localhost:50003
(即通过隧道把本地 50003 映射到内部 GIS 服务器的 3389 端口) - 输入用户名(通常是
.\Username
或域用户名)和密码。 - 点击连接,就可以进入 GIS 服务器的图形界面。 (博客园)
步骤 3:连接 SFTP 服务器(使用 SFTP 客户端,如 FileZilla)
在博客示例中,用 FileZilla 来连接 SFTP:
- 打开 FileZilla(或其他 SFTP 客户端)。
- 在 “Host” 一栏输入
sftp://localhost
或localhost
(有时候客户端自动加协议)。 - 端口填 50001(对应隧道映射的第一个 SFTP 服务器)
- 用户名 / 密码填你所获得的 SFTP 用户名 / 密码。
- 点击 “Quickconnect” 或 “Connect”。
- 若要连接第二个 SFTP 服务器(10.0.15.66),使用端口 50002 即可。 (博客园)
成功后,你就可以通过 FileZilla 从本地访问、上传 / 下载内部 SFTP 服务器上的文件。
三、总结 & 常见疑点 & 检查清单
下面是一些实践中容易遇到的问题、注意事项和检查项:
✅ 检查清单
项目 | 检查点 |
---|---|
私钥格式 | 确保私钥是 PPK / PEM 格式,客户端支持,且对应用户授权正确 |
Passphrase | 若有加密口令,在连接时输入正确 |
隧道映射 | 本地端口映射要与目标服务器 IP + 端口对应正确 |
防火墙 / 安全组规则 | Bastion / 内部服务器之间的安全组 /网络规则允许访问对应端口 |
客户端协议 | 在 SFTP 客户端中选择 SFTP (SSH) 而非 FTP |
地址 / 端口 | 对应服务器 IP 与端口是否正确写入隧道和客户端 |
权限 | SFTP 用户在目标服务器要有文件读写权限;GIS 用户要有远程桌面权限 |
会话保持 | 若连接断开,可用 ssh -N -L ... 等命令在后台维持隧道 |
⚠ 常见疑点 / 风险点
- 如果隧道目标地址是内网 IP(如 10.x.x.x),Bastion 必须能访问到该内网地址。
- 有些 SFTP 客户端在 “Host” 一栏加上
sftp://
前缀反而可能出错,建议写成localhost
+ 端口。 - 若多个隧道映射使用同一个本地端口,会冲突。要保证本地端口不冲突。
- 如果隧道断开(SSH 会话中断),SFTP / RDP 会失效。可以用
autossh
或守护方式重连。 - 如果目标 GIS 服务器版本为 Windows,要确认远程桌面 (RDP) 功能已启用。
- 如果 SFTP 服务器使用密钥认证或基于 SSH 密钥登录方式,客户端也要相应配置密钥而不是只用用户名/密码。
- 若你在 Linux / macOS 下,也可使用
ssh -L
命令行方式建立隧道:ssh -i yourkey.pem -L 50001:10.0.12.52:22 -L 50002:10.0.15.66:22 -L 50003:10.0.9.147:3389 user@44.250.82.181
四、示例命令(Linux/macOS 端)
假设你的私钥为 ~/.ssh/bastion.pem
,用户名是 bingnan.li
,你可以在本地执行:
ssh -i ~/.ssh/bastion.pem \
-L 50001:10.0.12.52:22 \
-L 50002:10.0.15.66:22 \
-L 50003:10.0.9.147:3389 \
bingnan.li@44.250.82.181
这条命令连接 Bastion,同时把三个内部服务器端口映射到本地端口。连接建立后,你就可以:
- 用
sftp -P 50001 localhost
连接第一个 SFTP - 用
sftp -P 50002 localhost
连接第二个 SFTP - 用远程桌面连接
localhost:50003
进入 GIS
发表回复