加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何使用ssh通过代理转发复制文件多跳?

发布时间:2020-12-14 02:32:33 所属栏目:Linux 来源:网络整理
导读:我有一组服务器都正确配置了SSH代理转发.这是典型的堡垒服务器样式配置,您可以从外部连接到的唯一一台机器是服务器A.从服务器A,您可以使用代理转发连接到服务器B,C,D等.它们都运行良好. 有时我想将文件从我的本地机器复制到服务器B.为了做到这一点,我必须首
我有一组服务器都正确配置了SSH代理转发.这是典型的堡垒服务器样式配置,您可以从外部连接到的唯一一台机器是服务器A.从服务器A,您可以使用代理转发连接到服务器B,C,D等.它们都运行良好.

有时我想将文件从我的本地机器复制到服务器B.为了做到这一点,我必须首先将文件scp到服务器A.然后ssh到服务器A并将文件scp到服务器B.然后我从中删除文件服务器A.

有没有办法在我本地计算机上执行的一个命令中通过服务器A将文件直接从我的计算机复制到服务器B?

解决方法

如果您的sshd配置为允许TCP转发,那么您可以通过A设置从计算机到B的隧道,然后使用它来复制内容.创建隧道
ssh -f -L 2050:B:22 A -N

> -f后台ssh命令让你的终端重新使用.
> -L 2050:B22将localhost端口2050绑定到主机B端口22
> -N不执行远程命令.

然后从你的电脑复制到B.

scp -P 2050 filetocopy localhost:/destination/path

编辑:
如果你使用

ssh -L 2050:B:22 A -N &

然后,当它背景时,你将被告知ssh命令的PID.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读