当前位置: 首页 > article >正文

三台机器,第一台机器可以ssh到第二台机器,第二台机器可以ssh到第三台机器,请问第一台机器上怎么通过ssh 直接从第三台机器scp文件到第一台机器?

三台机器,第一台机器可以ssh到第二台机器,第二台机器可以ssh到第三台机器,请问怎么通过ssh 直接从第三台机器scp文件到第一台机器。

现在一言的回答并不能让人满意:

由于SSH和SCP的常规用法不支持直接通过多个跳板机(或中转服务器)来传输文件,你需要采用一些间接的方法来实现从第三台机器直接将文件SCP到第一台机器。但是,你可以通过SSH的端口转发或代理功能来模拟这种行为。

然而,对于你的具体场景(第一台机器可以SSH到第二台,第二台可以SSH到第三台),最直接的解决方案可能是使用SSH的代理命令(-A 或 -t 选项,尽管这里-A用于转发认证代理,而-t用于强制分配伪终端,但在这个场景下我们主要关注的是如何串联SSH会话),但SCP本身不支持通过多个SSH会话进行文件传输。

不过,你可以通过以下步骤来间接实现:

  1. 从第三台机器SCP文件到第二台机器
    首先,你需要登录到第二台机器,并从那里SCP文件从第三台机器。这可以通过在第二台机器上执行SCP命令来完成,该命令通过SSH连接到第三台机器。

    # 在第二台机器上执行 
    scp user@third_server:/path/to/file /local/path/on/second_server

  2. 从第二台机器SCP文件到第一台机器
    一旦文件被复制到第二台机器上,你就可以从第一台机器SCP这个文件了。这可以通过在第一台机器上执行SCP命令来完成,该命令通过SSH连接到第二台机器。

    # 在第一台机器上执行 
    scp user@second_server:/local/path/on/second_server/file /path/to/destination

    但是,如果你想要一个更“直接”的(尽管是间接的)方法,并且想要减少在第二台机器上存储文件的需要,你可以考虑使用SSH的端口转发功能来创建一个从第一台机器到第三台机器的“隧道”,但这通常用于网络服务的转发,而不是直接用于SCP。

对于SCP来说,更实用的方法是使用SSH的-3选项(如果SSH客户端支持的话),它可以在两台不能直接通信的机器之间通过一台或多台中间机器传输数据,但这需要SSH版本和配置的支持,并且不是所有SSH实现都支持这个选项。

然而,标准的SSH和SCP工具并不直接支持这种多跳文件传输。因此,最简单和最可靠的方法通常是使用上述的两个SCP步骤。

如果你经常需要执行此类操作,并且想要自动化这个过程,你可以编写一个脚本来串联这两个SCP命令,或者使用更高级的工具(如rsync,它可能具有更好的错误处理和增量传输功能)来替代SCP。

还在期待更好的解决方法。

有个解决方法:

 在一台中转服务器,可以直接从服务器1 cp到服务器2 

scp server1:/path/file server2:/path/file2 

但是如果 两台服务器互相不连通,就需要加上-3参数了:

scp -3 server1:/path/file server2:/path/file2 


http://www.kler.cn/a/287799.html

相关文章:

  • Franka例程学习——force_control
  • React 第三方状态管理库相关 -- Redux MobX 篇
  • 实现类似Excel的筛选
  • 79_Redis通信协议RESP
  • idea 自动导包,并且禁止自动导 *(java.io.*)
  • 智能科技与共情能力加持,哈曼重新定义驾乘体验
  • 树数据结构(Tree Data Structures)的全面指南:深度解析、算法实战与应用案例
  • 【WPF】WPF学习之【一】基础知识
  • 62.一个机器人位于一个 m x n 网格的左上角 。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。实现一个算法计算路径的数量
  • 计算机毕业设计python停车场车位推荐管理系统y4uzk
  • “JavaScript里的多线程“WebWorker
  • scikit-learn:一个强大的机器学习Python库
  • APO选择ClickHouse存储Trace的考量
  • 代理IP的API接口:轻松实现自动化代理切换
  • 《软件工程导论》(第6版)第3章 需求分析 复习笔记
  • 同样128个内核,AMD霄龙9755性能翻倍:Zen 5架构下的性能飞跃
  • 【嵌入式学习笔记】STM32中断配置及相关知识
  • Go语言学习(一)
  • SpringBoot链路追踪②:如何集成?
  • Fabric.js中fabric.Text的深入解析
  • linux下部署数据库总结
  • Kubernetes中三种探针的作用你真的知道吗?
  • C语言操作符的介绍
  • 51单片机-独立按键控制LED显示二进制
  • GoF 代理模式
  • 安泰功率放大器的特点及原理是什么