有没有办法通过跳转服务器与远程机器建立SFTP连接来传输文件?

2023-12-22

我想知道是否有一种方法可以通过跳转服务器使用 SFTP 将文件发送到远程计算机。 如下图所示,首先需要 SSH 连接,然后是 SFTP 连接。

我的主要问题出现在 SSH 连接之后,我的工作区已更改,并且我无法检索成功执行 SFTP 所需的文件。 我尝试过以下代码:

ssh jump-server-user@ip-jump-server 'echo "put /source/files /remote/files" | sftp -v remote-machine-user@ip-remote-machine'

但这不起作用。

我尝试执行一个简单的命令,例如pwd使用 SFTP 连接并且它可以工作,所以我认为这里的问题是工作区如何变化。

可能有一个更简单的解决方案,但我无法在跳转服务器-远程计算机连接上使用 SSH,并且无法将本地文件存储在跳转服务器中以便稍后将它们发送到远程计算机。


如果您有最新的 OpenSSH(至少 8.0)locally,您可以使用-J(跳转)开关 https://man.openbsd.org/scp#J:

sftp -J jump-server-user@ip-jump-server remote-machine-user@ip-remote-machine

对于旧版本(但至少 7.3),您可以使用ProxyJump指示 https://man.openbsd.org/ssh_config#ProxyJump:

sftp -o ProxyJump=jump-server-user@ip-jump-server remote-machine-user@ip-remote-machine

还有其他选项,例如ProxyCommand或端口转发,您甚至可以在旧版本的 OpenSSH 上使用它。这些内容涵盖在OpenSSH 支持多跳登录吗? https://superuser.com/q/1488097/213663

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法通过跳转服务器与远程机器建立SFTP连接来传输文件? 的相关文章

  • Xcode - 使用 SSH 身份验证添加存储库时出现身份验证失败错误

    我正在尝试通过 Xcode gt 设置 gt 帐户添加存储库 但我被困在正确的地址上 我们的存储库地址非常简单 my domain com port project name 通过 SSH 密钥进行身份验证 有人可以帮助我了解这里发生了什么
  • 使用 ruby​​ Net::SSH 通过 sudo 读取远程文件

    我必须读取我有权 sudo 读取的远程文件的内容 猫 少或尾巴 我将在 Ruby 中执行此操作 因此我认为应该使用 Net SSH 来执行此操作 该文件是一个日志文件 因此可能会很大 这是我现在正在尝试的代码 require rubygem
  • LibCurl SFTP 重命名文件

    解决了 经过更多转换后 通过使用 重命名 作为引用命令 它需要包含原始名称的完整路径和包含重命名目标的完整路径 在我其他失败的尝试中 我没有尝试过这条路 大家好 我尝试了所有不同的组合 但一直失败 不知道我错过了什么 我正在尝试使用 Lib
  • Ansible bitbucket 克隆配置 ssh 错误

    总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 主机密钥验证失败 然而 如果我流浪 ssh 然后运行 克隆 命令 私有存
  • 通过 HTTPS 的隧道

    在我的工作场所 流量拦截器 防火墙变得越来越糟糕 我无法通过端口 22 连接到我的家用计算机 并且缺乏 ssh 访问权限让我感到难过 我以前可以通过将 SSH 移动到端口 5050 来使用它 但我认为最近的一些过滤器现在将此流量视为 IM
  • 为什么 SFTP 的默认端口号是 22? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为什么 SFTP 的默认端口号是 22 这有什么具体原因吗 这是默认的SSH http en wikipedia org wiki Sec
  • 使用 JSch 分别为各个提示提供输入

    问题是 SSH 连接需要在常规登录后提供另一个用户 ID 和密码信息 我正在使用 JSch 连接到远程服务器 它接受以下形式的输入InputStream 和这个InputStream只能通过一次 由于会话是交互式的 这会导致问题 我尝试将输
  • 通过 SSH 的 sbt (Scala) 结果找不到命令,但如果我自己这样做就可以工作

    所以我正在尝试做一些涉及跑步的事情sbt通过 SSH 命令 这就是我正在尝试的 ssh my username
  • SVN 不断提示我输入密码并拒绝缓存我的凭据

    环境 Eclipse Indigo Ubuntu 11 04 Subclipse 1 6 SVN 客户端 Subclipse RabbitVCS 我通过 svn ssh 连接 我的网址如下所示 svn ssh 我的名字 我的域名 路径 我可
  • 如何通过 SSH 启动进程,使其保持运行?

    我有三个文件 Monitor sh 它启动 python 脚本 sudo python webCheck sudo python apiCheck 以及其他的 webCheck 和 apiCheck 它应该在我关闭终端后在后台运行 它无限循
  • 在 Windows 上为 Bitbucket 设置 SSH 密钥

    首先 我对 git repos 和命令行绝对是菜鸟 我在 Bitbucket 上有仓库 我基本上希望能够通过 gitbash 推送到存储库 而无需每次输入密码 我拥有的 Bitbucket 上的存储库已设置好代码 克隆存储库的本地目录 通过
  • 无需代理转发的 SSH 跳转主机

    虽然是一个简单的问题 但我已经搜索了几天没有成功 M My machine J Jump Host S Server Jump Host has my public key on authorized keys Server has J s
  • SFTP文件同时上传和下载

    cronjob 每 3 小时运行一次 使用 SFTP 下载文件 调度程序是用Perl编写的 使用的模块是Net SFTP Foreign Can the Net SFTP Foreign下载仅使用 SFTP 部分上传的文件 如果是这样 我们
  • 服务器拒绝 SFTP 连接,但它侦听 FTP 连接

    我在Windows中使用WinSCP用Ubuntu连接VMware时 提示如下 服务器拒绝 SFTP 连接 但它侦听 FTP 连接 您想使用 FTP 协议而不是 SFTP 吗 更喜欢使用加密 怎么了 我可以在 Windows 中成功 pin
  • 在 %PATH% 的任何目录中都找不到 `ssh` 可执行文件

    ERROR c Users dhawal vora gt vagrant ssh ssh executable not found in any directories in the PATH variable Is an SSH clie
  • 使用knife ec2插件在VPC私有子网中创建虚拟机

    尽管我已经写了相当多的 Chef 文章 但我对 AWS VPC 和管理网络流量 尤其是堡垒主机 还相当陌生 使用 Knife ec2 插件 我希望能够从我的开发人员工作站动态创建和引导虚拟机 VM 应能够存在于我的 VPC 的公有子网或私有
  • seq 使用逗号作为小数点分隔符

    我注意到一个奇怪的现象seq我的一台计算机 Ubuntu LTS 14 04 上的行为 不是使用点作为小数点分隔符 而是使用逗号 seq 0 0 1 0 2 0 0 0 1 0 2 我的另一台 PC 上相同版本的 seq 8 21 给出了正
  • 为什么 cygwin 无法读取我的主目录中的 .ssh/config 文件?

    我正在使用 cygwin 并且正在尝试设置 ssh config 文件 Cygwin 的文件夹位于我的 C 驱动器中 我的主目录是 C Users USER 我注意到 当我编辑 C Users USER ssh config 时 cygwi
  • Spark EC2 SSH连接错误SSH返回代码255

    每次我尝试通过 Spark ec2 spark ec2 py 文件在 AWS 上启动 Spark 集群时 都会收到 SSH 连接错误 最终解决了 但是浪费了很多时间 在您将其标记为重复之前 我知道有很多类似的问题被问到 但有两个关键区别 a
  • 如何在 Google Compute Engine 上创建的两个实例之间进行 ssh?

    我在 Google Compute Engine 上创建了两个实例 Instance A hostname robot a ip addr 10 111 0 11 Instance B hostname robot b ip addr 10

随机推荐

  • 为什么我在使用 primefaces 时却使用omnifaces?

    我需要知道使用 OmniFaces 与我目前使用的 PrimeFaces 相比有什么好处 OmniFaces 提供哪些 PrimeFaces 不提供的功能 它们是不同的东西 你可以完美地将它们结合起来 Omnifaces 是 JSF 的一个
  • 来自数据帧的神经网络 LSTM 输入形状

    我正在尝试实施一个LSTM 与 Keras https keras io layers recurrent lstm 我知道 Keras 中的 LSTM 需要具有形状的 3D 张量 nb samples timesteps input di
  • 如何计算Kubernetes集群的节点可分配资源?

    我们有一个集群 其中节点资源不足 导致速度缓慢和过度提交问题 这迫使我们频繁重启节点 我们计划实施节点可分配资源策略 以在系统 kubelet 和应用程序 Pod 之间拆分可用的 CPU 内存和临时存储 遇到了一些有关可分配资源计算的准则h
  • 在 OSX 10.10 Yosemite 上安装 Nokogiri

    我最近升级到 10 10 Yosemite beta 但安装 Nokogiri 时遇到问题 我正在使用 RVM 和 Ruby 1 9 3 我也按照步骤操作here https gist github com vparihar01 58565
  • jQuery:列表在页面加载时扩展

    我一直在寻找非常简单的东西 如何在页面加载时使侧面导航以动画方式展开 但是我平时去的教程网站好像都没有 我能找到的最接近的是这个 jQuery 示例 http codeblitz wordpress com 2009 04 15 jquer
  • 如何使用节点检索 PayPal REST Api 访问令牌

    如何使用节点获取利用 REST Api 所需的 PayPal 访问令牌 一旦您拥有 PayPal 客户端 ID 和客户端密钥 您就可以使用以下内容 var request require request request post uri h
  • 如何在 AKS 上扩展 Cassandra 的 PVC 而不会丢失数据?

    首先我需要说的是 我没有使用 Cassandra 的经验 而且我也不是创建此部署的人 我在 AKS 的集群中运行 Cassandra 有状态集中配置的 PVC 为 1000Gi 目前 这些 Pod 已耗尽存储空间 并且一直处于不健康状态 我
  • 计算 3D 平面的斜率

    我有一组代表不同平面特征的 X Y Z 点 我需要使用法向量计算每个平面的斜率 我认为斜率是由每个平面的法线向量 NV 和假想水平面的 NV 之间的角度给出的 假设我使用的平面方程是 Ax By c z 然后我猜我的平面的法向量是 a b
  • 搜索 NSDictionaries 的 NSArray

    我有一个带有字典的数组 并且需要在数组中搜索 并修改通过字典内的对象名称找到的数组中的特定字典 因此 创建可变数组dictionary 并向该数组添加许多字典 self bloquesArray NSMutableArray alloc i
  • Linq To Entities - 如何过滤子实体

    我有实体Group and User the Group实体有Users属性是用户列表 用户有一个名为IsEnabled 我想编写一个返回列表的 linq 查询Groups 仅包含Users whose IsEnabled是真的 例如 对于
  • WordPress - 删除插件类中定义的操作

    所以我有这个插件代码 class WC List Grid public function construct add action wp array this setup gridlist 20 function setup gridli
  • Makemigrations 错误:django.db.utils.OperationalError:没有这样的表

    当我进行迁移时 我收到以下错误 django db utils OperationalError 没有这样的表 django site Traceback most recent call last File manage py line
  • 旋转 matplotlib Path 对象

    我正在使用 matplotlibPath http matplotlib org api path api html对象创建自定义绘图标记 如所述here https stackoverflow com questions 19448282
  • 使用 jest 测试另一个函数内的函数

    我如何使用 jest 测试下面的代码片段 我正在尝试测试温斯顿自定义格式printf https github com winstonjs winston formats sample js import aa b require thir
  • solr 守护进程

    我想用守护进程运行 solr 我在另一篇文章中看到有一个 init d 脚本可以运行 但它在我的 ubuntu 环境中似乎有问题 每当我尝试使用 etc init d solr start 运行脚本或尝试手动运行以下行时 daemon ja
  • ajax 调用时出现重复标头

    您好 创建了一个对控制器执行 ajax 调用的链接 以便使用 id UpdateCart 更新跨度 问题是 如果用户未经过身份验证 他将被发送到登录页面 并在页面上生成 从图像中可以看出 我的整个标头标签是如何复制并添加到 span 标签内
  • R 重新编译包失败,因为失败

    在我的 Linux 集群上 我在重新编译需要重新编译的 R 包时遇到问题 随着去除libRcpp so在最新版本中 最终目标是 让 R 包 DEseq2 运行 我们已经安装了新版本 g 中的 opt bin目录中有新库 opt lib64
  • Psycopg2:将 CSV 数据复制到具有额外列值的表

    我正在使用copy expert中的方法psycopg2将数据从 CSV 文件复制到 postgresql 表 我有这样的 postgres 表 create table my table cola text colb text colc
  • 如何判断模板类型是基本类型还是类

    我有这样的代码 template
  • 有没有办法通过跳转服务器与远程机器建立SFTP连接来传输文件?

    我想知道是否有一种方法可以通过跳转服务器使用 SFTP 将文件发送到远程计算机 如下图所示 首先需要 SSH 连接 然后是 SFTP 连接 我的主要问题出现在 SSH 连接之后 我的工作区已更改 并且我无法检索成功执行 SFTP 所需的文件