You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过堡垒机使用目标服务器非标准端口执行Rsync

通过堡垒机使用Rsync同步到非标准端口的SSH服务器

没问题,我来帮你搞定这个场景。你现在的核心需求是把ProxyCommand的逻辑和非标准SSH端口结合起来,不管是直接ssh连接还是用rsync同步都能生效,分两种方式给你说明:

方式1:直接在命令行指定参数

首先调整SSH连接命令

你原来的命令是针对默认22端口的,要连接12345端口,只需要给外层ssh加上-p 12345参数就行——因为ProxyCommand里的%p会自动替换成你指定的目标端口,堡垒机就会把流量转发到目标主机的12345端口:

ssh -o ProxyCommand="ssh -W %h:%p admin@bastion-host" -p 12345 user@destination-host

这个命令现在就能直接连到目标主机的非标准SSH端口了。

适配Rsync同步命令

Rsync默认用ssh作为传输通道,你只需要通过-e参数把上面的ssh配置传递给rsync就行,比如同步本地目录到目标主机:

rsync -avz -e "ssh -o ProxyCommand='ssh -W %h:%p admin@bastion-host' -p 12345" /本地源路径 user@destination-host:/目标路径

解释下关键参数:

  • -avz:归档模式(保留权限、时间戳等)+ 显示详细信息 + 压缩传输,是rsync的常用组合
  • -e:指定rsync使用的远程shell程序,这里就是我们配置好的带堡垒机和非标准端口的ssh命令

方式2:通过SSH配置文件简化命令(更推荐)

如果不想每次都输这么长的命令,可以把配置写到~/.ssh/config里,以后不管是ssh还是rsync都能一键调用:

Host destination-host
  User user
  Port 12345
  ProxyCommand ssh -W %h:%p admin@bastion-host

保存配置后,直接用下面的命令就能连接目标主机:

ssh destination-host

Rsync同步也变得非常简洁:

rsync -avz /本地源路径 destination-host:/目标路径

这种方式更省心,尤其是需要频繁操作的场景。

内容的提问来源于stack exchange,提问作者Blender Fox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:05:07