Mac怎么使用终端传输文件_Mac scp和rsync传文件教程【实战】

Mac怎么使用终端传输文件_Mac scp和rsync传文件教程【实战】

系统教程

Mac上可用scp或rsync通过SSH传输文件:scp适合单次小批量传输,rsync支持增量同步与断点续传;配置SSH免密登录可提升效率;需排查SSH服务、防火墙及权限问题;非标准端口需显式指定。

如果您需要在Mac上通过命令行将文件从本地传输到远程服务器,或从远程服务器下载文件到本地,可以使用scp或rsync命令。以下是具体操作步骤:

一、使用scp命令传输文件

scp(secure copy)基于SSH协议,适合单次、小批量文件传输,支持加密传输,操作简单直接。

1、打开“终端”应用程序(可在“访达→前往→实用工具”中找到)。

2、输入以下格式的命令传输单个文件:
scp /本地/路径/文件名 用户名@远程主机IP:/远程/路径/

3、若需传输整个目录,添加-r参数:
scp -r /本地/目录/ 用户名@远程主机IP:/远程/路径/

4、执行后提示输入远程主机密码,输入正确密码后开始传输,完成后终端无额外提示即表示成功。

二、使用rsync命令同步文件

rsync支持增量同步、断点续传和排除规则,适合大文件、频繁更新或需保持目录结构一致的场景。

1、在终端中确认系统已预装rsync(macOS自带,无需额外安装)。

2、执行基础同步命令(上传):
rsync -avz /本地/路径/ 用户名@远程主机IP:/远程/路径/

3、如需下载远程文件到本地,交换源与目标位置:
rsync -avz 用户名@远程主机IP:/远程/路径/ /本地/路径/

4、添加--delete参数可使目标端严格匹配源端内容(删除目标端多余文件),请谨慎使用:
rsync -avz --delete /本地/路径/ 用户名@远程主机IP:/远程/路径/

三、配置SSH免密登录提升效率

每次执行scp或rsync都需输入密码会降低效率,可通过SSH密钥对实现免密认证。

1、在终端运行生成密钥对命令:
ssh-keygen -t ed25519 -C "your_email@example.com"

Calliper 文档对比神器

文档内容对比神器

下载

2、按回车接受默认保存路径(~/.ssh/id_ed25519)。

3、将公钥复制到远程主机:
ssh-copy-id 用户名@远程主机IP

4、若ssh-copy-id不可用,可手动追加公钥内容到远程主机的~/.ssh/authorized_keys文件中。

四、处理常见连接问题

当传输失败时,多数源于网络或权限配置异常,需逐项排查。

1、检查远程主机是否启用SSH服务:
ssh 用户名@远程主机IP,能成功登录则SSH正常。

2、确认远程主机防火墙未屏蔽22端口,可临时关闭测试:
sudo ufw disable(Ubuntu)或检查macOS“系统设置→网络→防火墙”设置。

3、若提示“Permission denied (publickey)”,说明SSH密钥未被识别,需验证远程~/.ssh/authorized_keys权限为600,且目录~/.ssh权限为700。

五、指定非标准SSH端口传输

当远程SSH服务运行在非22端口(如2222)时,所有命令必须显式声明端口参数。

1、scp命令中加入-P参数(大写P):
scp -P 2222 /本地/文件 用户名@远程主机IP:/远程/路径/

2、rsync命令中通过-e选项传递ssh参数:
rsync -avz -e 'ssh -p 2222' /本地/路径/ 用户名@远程主机IP:/远程/路径/

3、确保远程主机sshd_config中Port配置已启用对应端口,并重启SSH服务:
sudo systemctl restart ssh(Linux)或重启远程macOS的“远程登录”功能。

本文地址:https://www.sztg.com.cn/article/618274.html

如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!

猜您喜欢