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

相关推荐

  • 新手如何从图形界面打开终端?

    在SUSE Linux(包括openSUSE和SUSE Linux Enterprise)中打开命令行(终端)是系统管理、软件安装和故障排除的基础操作,以下是多种可靠方法,适用于不同桌面环境和场景,操作步骤均通过SUSE官方文档及社区实践验证:GNOME桌面环境(openSUSE默认)方法1:应用菜单点击左上角……

    2025年7月9日
    16700
  • 安全实时传输协议故障原因何在?

    安全实时传输协议(SRTP)是用于保护实时媒体流(如语音、视频)安全性的核心协议,通过加密、消息认证和重放保护机制,确保传输数据的机密性、完整性和真实性,在实际应用中,SRTP故障频发,影响实时通信的质量和安全性,其故障原因复杂多样,涉及协议配置、网络环境、密钥管理、设备兼容性等多个层面,需系统分析以定位问题并……

    2025年11月4日
    13900
  • 安全教育数据管理平台如何提升安全管理效能?

    安全教育数据管理平台是依托大数据、云计算、人工智能等技术构建的综合性安全管理工具,旨在通过数据驱动安全教育全流程管理,实现安全风险的精准识别、教育资源的优化配置及安全效能的持续提升,当前,传统安全教育普遍存在内容同质化、效果难量化、数据碎片化等问题,而该平台通过整合“采集-分析-预警-优化”闭环管理,为各类组织……

    2025年10月30日
    13400
  • 安全性评价如何确保全面可靠?

    安全性评价是现代工业、食品、医药、化妆品及环境等领域中确保产品或服务安全性的关键环节,它通过系统性的科学方法,评估潜在风险,制定防控措施,从而保障人类健康、生态环境及社会稳定,随着科技发展和法规完善,安全性评价已从单一检测发展为涵盖多学科、全生命周期的综合性体系,成为行业合规和市场准入的基石,安全性评价的核心要……

    2025年11月24日
    11400
  • 国内业务中台系统中心是何方神圣?

    它是整合核心业务能力,为前台提供共享服务,支撑业务快速创新和发展的枢纽。

    2026年2月22日
    7100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信