【SCP文件传输】广域网下将外网文件传到内网服务器

当需要在没有外部网络访问的公司内网环境和可连接外部网络的服务器之间传输文件时,作者遇到了挑战。最初尝试使用NFS,但遇到困难。后来意识到SCP(Secure Copy)利用SSH的22端口可以实现文件传输。通过指定SCP命令的端口号,作者成功将源代码从家中传输到远程服务器,大大节省了时间。这个经验强调了解决问题的正确思路的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景

正常情况下开发都是在公司内网的编译服务器上构建的,有防火墙等各种保护机制,基本隔绝了外部网络访问公司内网的可行性。
然后近期需要搞个开源项目,编译构建都需要连通外部网络,为此专门搭了一台纯净服务器,并把它搬到可连接外部网络的房间,专门映射了外网ip和端口号,ssh已能登录。
正准备开搞然后突然懵逼了,源代码在家里,不知道怎么把源代码传到这台服务器上。

问题定位

传文件,无非是文件传输协议那些,看用哪个方便。
nfs:
cifs:
sftp:
tftp:
scp:
一开始想的是搭建nfs服务器,然后从家里挂过来,百度解释是可以的(为什么没有第一时间想到scp,因为公司环境下的编译服务器就用的是nfs方案),然后apt装服务,改配置文件,搞了N久,死活不通,报Timeout。初步怀疑是命令中指定端口号的姿势不对或者端口映射的端口号对mount挂载的支持不到位。
时间紧张,再思考了一遍以上协议,百度了下发现scp用的就是22端口,我能登ssh,scp按理说肯定能用。然后说干就干,一开始端口号指定不对,也超时,后来找到正确指定端口号的姿势,就通啦!!!撒花!!!

解决方案

1. 先通网络

假设你的服务器没有外网的IP(资源一般很紧张),你和我一样需要端口映射,需要用到IPOP。做映射的时候记得给服务器开22端口号,先验证能登ssh。

2. scp文件传输

示例

scp -P 2233 out_filename yourid@10.83.155.211:/home/yourid

速度嗖嗖的

后记

参考:
scp传文件指定端口

这个问题在nfs卡了我几乎一天,scp10分钟解决。所以,思路很重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值