SSH远程拷贝文件有哪些详细常用命令?具体操作步骤如何实现?

SSH(Secure Shell)是一种加密的网络协议,常用于远程登录和文件传输,在SSH环境下,拷贝文件主要通过scp(secure copy)和sftp(SSH file transfer protocol)两种命令实现,rsync(remote synchronization)工具也可结合SSH使用,适合增量同步场景,以下是具体命令用法和场景说明。

ssh怎么拷贝文件命令

scp命令:快速单次文件/目录拷贝

scp基于SSH协议,通过加密传输保障安全性,适合小文件或一次性拷贝,语法格式为:
scp [选项] 源文件 目标地址
源文件/目标地址格式:本地路径(如/home/file.txt)或远程路径(如user@host:/path/to/file)。

常用选项及场景

选项 作用 示例
-r 递归拷贝目录 本地目录→远程:scp -r /local/folder user@remote:/remote/folder
-P 指定SSH端口(默认22,需大写) scp -P 2222 file.txt user@remote:/home/
-p 保留文件权限、时间戳 scp -p file.txt user@remote:/home/
-C 启用压缩(适合大文件) scp -C large_file.zip user@remote:/home/
-v 显示详细传输过程(调试用) scp -v file.txt user@remote:/home/

典型用例

  1. 本地→远程:拷贝本地文件到远程服务器指定目录
    scp /home/user/file.txt root@192.168.1.100:/opt/
  2. 远程→本地:从远程服务器下载文件到本地
    scp root@192.168.1.100:/opt/file.txt /home/user/
  3. 远程→远程:通过本地主机中转,直接在两台远程服务器间拷贝(避免本地存储)
    scp user1@host1:/file.txt user2@host2:/backup/

sftp命令:交互式文件管理

sftp是SSH的文件传输协议,提供类似FTP的交互式界面,支持上传、下载、删除、目录操作等,适合批量管理或复杂场景,通过sftp user@host登录后,进入命令行交互模式:

ssh怎么拷贝文件命令

常用交互命令

命令 作用 示例
get 下载远程文件到本地 get remote_file.txt /home/local/
put 上传本地文件到远程 put local_file.txt /home/remote/
lcd 切换本地目录 lcd /home/user/download
cd 切换远程目录 cd /var/log
mget/mput 批量下载/上传(支持通配符) mget *.log
ls/dir 列出远程目录文件 ls -l
rm 删除远程文件 rm old_file.txt

使用流程

  1. 连接远程服务器:sftp user@192.168.1.100
  2. 下载文件:get /remote/path/file.txt /local/path/
  3. 上传文件:put /local/path/file.txt /remote/path/
  4. 退出:exit

rsync命令:增量同步(高效大文件/目录同步)

rsync通过差异算法仅传输变化的文件,适合大文件、频繁同步或备份场景,结合SSH使用时语法为:
rsync [选项] 源路径 目标路径

核心优势与选项

选项 作用 示例
-a 归档模式(保留权限、时间戳等,相当于-rlptgoD rsync -av /local/folder/ user@remote:/remote/
-v 显示同步过程 rsync -v file.txt user@remote:/home/
-z 压缩传输(节省带宽) rsync -az /local/ user@remote:/remote/
--progress 显示传输进度条 rsync --progress large_file.zip user@remote:/home/
--delete 删除目标中多余的文件(确保同步一致性) rsync -a --delete /source/ /destination/

注意事项

  • 源路径末尾加(如/local/folder/)表示同步目录内容,不加则同步目录本身。
  • 需在远程服务器安装rsync(默认多数Linux系统已安装)。

注意事项

  1. 权限与认证:确保本地用户有远程服务器目标路径的读写权限,推荐使用SSH密钥认证(避免密码输错)。
  2. 端口与防火墙:若SSH端口非默认22,需用-P指定,并确保防火墙开放该端口。
  3. 大文件传输:超大文件可能因网络波动中断,rsync支持断点续传(通过--partial选项),scp需手动重新传输。

相关问答FAQs

Q1: scp和rsync有什么区别?如何选择?
A: scp基于SSH协议,适合小文件或一次性拷贝,简单直接但无法断点续传;rsync通过增量算法传输,仅同步变化部分,适合大文件、频繁同步或备份场景,支持断点续传和删除多余文件,若需快速传输小文件用scp,需高效同步或大文件传输用rsync。

ssh怎么拷贝文件命令

Q2: sftp和ftp有什么区别?为什么推荐sftp?
A: ftp(文件传输协议)是明文传输,不安全;sftp基于SSH协议,所有数据均加密传输,且支持SSH的密钥认证和端口转发,安全性更高,sftp可直接通过SSH登录(无需额外服务),而ftp需单独配置ftp服务,因此推荐使用sftp替代ftp。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/18401.html

(0)
酷番叔酷番叔
上一篇 2025年8月27日 21:10
下一篇 2025年8月27日 21:21

相关推荐

  • 怎么去掉表格中的命令

    表格,点击“开始”选项卡中“清除格式”按钮;

    2025年8月16日
    7700
  • linux的750命令怎么用

    nux中没有“750”命令,你可能指的是设置文件权限的chmod命令。

    2025年8月18日
    9600
  • 安全上网手抄报内容应包含哪些核心要点?

    网络已经成为我们学习、生活不可或缺的一部分,但其中也潜藏着不少风险,制作安全上网手抄报,不仅是对网络知识的梳理,更是对自我保护意识的强化,下面从多个维度梳理安全上网的核心内容,帮助大家筑牢网络安全防线,认识网络风险,远离安全隐患网络世界纷繁复杂,常见的风险需要我们时刻警惕,首先是个人信息泄露,随意在非官方平台填……

    2025年11月18日
    3700
  • CMD路径错误?立即解决排查指南

    路径格式错误(最常见原因)反斜杠方向错误DOS路径必须使用 反斜杠(\) 而非正斜杠(/)❌ 错误示例:cd C:/Users/Public✅ 正确示例:cd C:\Users\Public缺失引号处理空格路径含空格时需用双引号包裹❌ 错误:cd C:\Program Files✅ 正确:cd “C:\Prog……

    2025年6月19日
    10800
  • h3c路由器怎么清除配置命令

    3C路由器清除配置命令一般为: 或 reset saved-configuration,具体可

    2025年8月15日
    8200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信