如何使用ssh传输文件

使用 SSH 传输文件有几种常见的方法,包括使用 scprsync 命令。下面是这两种方法的基本用法:

使用 scp 命令

scp(secure copy)是基于 SSH 的文件传输工具,它可以安全地在本地计算机和远程计算机之间传输文件或目录。

1. 从本地传输文件到远程主机
scp /path/to/local/file username@remote_host:/path/to/remote/directory/
  • /path/to/local/file:本地文件的路径
  • username@remote_host:远程主机的用户名和主机名或 IP 地址
  • /path/to/remote/directory/:远程主机上目标目录的路径
2. 从远程主机传输文件到本地
scp username@remote_host:/path/to/remote/file /path/to/local/directory/
  • /path/to/remote/file:远程主机上文件的路径
  • /path/to/local/directory/:本地目标目录的路径
3. 传输目录

使用 -r 选项可以递归传输目录及其内容。

  • 从本地传输目录到远程主机

    scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory/
    
  • 从远程主机传输目录到本地

    scp -r username@remote_host:/path/to/remote/directory /path/to/local/directory/
    

使用 rsync 命令

rsync 是另一个基于 SSH 的文件传输工具,支持增量同步和文件的高效传输。

1. 从本地传输文件到远程主机
rsync -avz /path/to/local/file username@remote_host:/path/to/remote/directory/
  • -a:归档模式,保留文件属性
  • -v:显示详细输出
  • -z:压缩文件数据以加快传输速度
2. 从远程主机传输文件到本地
rsync -avz username@remote_host:/path/to/remote/file /path/to/local/directory/
3. 传输目录
  • 从本地传输目录到远程主机

    rsync -avz /path/to/local/directory/ username@remote_host:/path/to/remote/directory/
    
  • 从远程主机传输目录到本地

    rsync -avz username@remote_host:/path/to/remote/directory/ /path/to/local/directory/
    

认证和配置

  1. SSH 密钥认证:如果你经常使用 SSH 进行连接,建议配置 SSH 密钥认证,以避免每次都输入密码。可以使用 ssh-keygenssh-copy-id 工具来设置 SSH 密钥。

  2. SSH 配置文件:你可以在 ~/.ssh/config 文件中配置常用的 SSH 主机和选项,以简化命令。例如:

    Host myserver
        HostName remote_host
        User username
        Port 22
    

    然后可以使用简化的命令:

    scp /path/to/local/file myserver:/path/to/remote/directory/
    

总结

  • 使用 scprsync 可以轻松地在本地和远程主机之间传输文件。
  • rsync 提供了更多的选项和更高效的文件同步功能。
  • 配置 SSH 密钥和 SSH 配置文件可以提高工作效率。
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值