略微加速

略速 - 互联网笔记

ssh通过跳板机传文件

2025-03-14 leiting (9阅读)

标签 运维 Linux

通过SSH跳板机(也称为SSH代理或SSH中转)来传输文件,通常有两种常见的方法:使用SSH命令行工具的-J选项或结合使用sshscp命令。以下是这两种方法的详细步骤:

方法1:使用ssh-J选项

1. 直接通过SSH命令传输文件

如果你只需要通过跳板机连接到目标服务器,可以直接使用ssh命令的-J选项。例如,如果你的本地机器需要先连接到跳板机(假设IP为jump_server_ip),然后从跳板机连接到目标服务器(假设IP为target_server_ip),你可以使用以下命令:

ssh -J jump_server_username@jump_server_ip target_server_username@target_server_ip

2. 使用SCP传输文件

如果你需要通过跳板机从本地机器传输文件到目标服务器,可以使用scp命令的-J选项。例如,将本地文件local_file.txt传输到目标服务器的特定目录:

scp -J jump_server_username@jump_server_ip local_file.txt target_server_username@target_server_ip:/path/to/destination/

方法2:结合使用sshscp命令

这种方法涉及到首先通过SSH登录到跳板机,然后再从跳板机登录到目标服务器,最后使用scp在两个服务器之间传输文件。

1. 登录到跳板机

ssh jump_server_username@jump_server_ip

2. 从跳板机登录到目标服务器

一旦登录到跳板机,你可以直接使用ssh命令再次登录到目标服务器:

ssh target_server_username@target_server_ip

3. 使用SCP传输文件

在目标服务器上,使用scp命令将文件从你的本地机器传输到目标服务器的特定目录:

scp local_file.txt /path/to/destination/

这种方法的好处是可以直接在目标服务器上操作文件,但需要手动进行两次SSH登录。

总结

推荐使用第一种方法中的SCP方法,因为它更直接和高效。只需要一条命令就可以完成文件的传输,而且不需要在跳板机和目标服务器之间进行多次登录。确保你有足够的权限在跳板机和目标服务器上执行这些操作。如果你经常需要通过跳板机进行操作,考虑配置SSH免密登录以简化流程。可以通过在跳板机和目标服务器上设置SSH密钥对来实现。


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3