两台 mac 通过 scp 命令快速传输数据

简介: 两台 mac 通过 scp 命令快速传输数据

这两天由于电脑进水了,所以申请换了一台 mac 电脑,所以想把老电脑的数据拷贝到新电脑,折腾了半天,最后还是发现 scp 命令最好用。

使用 「scp 命令方式」之前尝试的其他方法

1、隔空投送

刚开始使用那个隔空投送功能,但是发现不知道啥原因,只能传输几kb的文件,超过这个大小的文件都需要登录 ICound 账户,但是咱没有这个啊,没版本,放弃这个方法了。

PS: 隔空投送功能以前也用过,但是以前没遇到过这个问题,不管多大的文件都能随便传,不知道这次是不是老电脑系统版本问题导致有这个限制。

2、数据线数据传输

后来想用数据线直接连接两个电脑。这个方式遇到的问题也比较多:

刚开始是公司的电脑,端口被禁用了,不让使用数据线/USB导出数据,所以还申请了一个白名单;

后来申请完白名单发现需要等半小时才能生效,那就等吧,咱有啥办法;

等了 40 分钟后,用数据线把新老电脑一连接,发现在新电脑提示老电脑磁盘无法识别,这个方式又败北了。

提示:

通过数据线来数据传输,需要让老电脑进入USB 模式,进入的方式是关机,然后点点开按钮,随后长按按键「T」,直到屏幕出现 USB 的图标。

3、迁移助理

再后来想用迁移助理,发现迁移助理有两种模式

  • 模式一:直接用老电脑的账户覆盖新电脑的账户,把数据完全复制过来;这显然不是我想要的,新电脑我已经装好了开发环境,如果被覆盖了,万一出现某个工具不能用,不是又得重新装一遍开发环境
  • 模式二:新老电脑的账户同时存在,但是因为我的两个电脑用户名一样,需要给新电脑换用户名,我开发环境里有不少环境变量里都写了用户名了,这突然让我改,这不是想让我重装环境吗

于是迁移助理也败北了。

差点放弃了,后来想到了使用 scp 命令配合局域网来数据传输。下面介绍一下怎么通过 scp 命令在两台 Mac 中传输数据

scp 方式传输数据操作步骤

步骤一:打开新电脑的「远程登录开关」

设置中搜索「共享」,打开「远程登录开关」1456655-20230111233804335-1335622485.png

不同版本的 Mac 可能界面略微有些不一样,可能有些 Mac 「共享」功能界面是这样的1456655-20230111234307278-106204047.png

步骤二:检查远程登录开关打开后 sshd 服务是否成功启动

ps auwx | grep sshd

如果启动成功,会输出一条 sshd 的记录,如果没有输出 sshd 的记录,所以 sshd 服务没有启动成功。

如果没有启动成功,手动执行 /usr/sbin/sshd 命令来启动 sshd 服务

如果启动成功则继续按照步骤三继续操作, 如果启动时报错 sshd: no hostkeys available -- exiting.,说明需要生成一些列的密钥啥的

  • 执行如下命令:

sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_dsa_key
chmod 600 /etc/ssh/ssh_host_rsa_key
  • 重新启动终端:

ssh localhost
  • 然后再次尝试启动 sshd

/usr/sbin/sshd

步骤三:找到新电脑的 ip 和用户名

在新电脑的终端执行 ifconfig 找到新电脑的 ip 地址。

在新电脑的终端执行 who am i 找到自己的电脑用户名

在老电脑中执行 scp 命令复制文件夹到新电脑

scp -r localdir user@host:$dirpath  # 即 scp -r 本地目录路径 远程主机用户名@ip:存放文件路径

-r 表示传输的是文件夹,如果只是传输文件,则不需要加此参数

可能的报错

如果执行 scp 命令时提示 ssh: connect to host xx.xx.xx.xx port 22: Connection refusedlost connection,说明 sshd 服务没开启成功,检查接受数据的电脑「远程登录开关」是否开启,按照第二部检查 ssd 服务是否启动。

小问题

scp 传输的速度不算快,20G 文件,传输了大约3个小时。算是美中不足吧。

参考mac开启ssh服务



相关文章
|
7月前
|
存储 Shell
Mac终端工具Terminal (3):在Mac上的终端中执行命令和运行工具
Mac终端工具Terminal (3):在Mac上的终端中执行命令和运行工具
432 0
|
3月前
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
|
2月前
|
Linux
linux/mac 下查看、修改文件权限的命令
这篇文章介绍了在Linux和Mac操作系统下如何查看和修改文件及文件夹的权限。
86 0
|
4月前
|
网络协议
Mac根据端口查询进程id的命令
这篇文章介绍了在Mac操作系统上如何使用两种命令来查询监听特定端口的进程ID。第一种方法是使用`netstat -anp tcp -v | grep 端口号`,例如`netstat -anp tcp -v | grep 80`,这将列出所有使用端口80的TCP连接及其相关信息。第二种方法是使用`lsof -P -n -i:端口号`,例如`lsof -P -n -i:8080`,这将显示使用指定端口的进程列表,包括进程ID、用户、文件描述符等信息。文章通过示例展示了如何使用这些命令,并提供了输出结果的截图。
372 2
|
5月前
|
算法 安全 网络安全
信息安全: MAC(消息认证码)算法,保护数据完整性和真实性的利器
MAC 算法在保证数据完整性和真实性方面扮演着重要角色。HMAC 和 CMAC 作为两种主要的 MAC 算法,因其高安全性和广泛应用,已经成为现代通信和数据保护中不可或缺的一部分。通过本文的介绍,希望读者能够更好地理解和使用 MAC 算法,保障信息的安全性。
Mac 下终端命令无法使用的问题
Mac 下终端命令无法使用的问题
206 1
|
7月前
|
Shell 测试技术 Python
在Mac上用Python调用终端执行命令
在Mac上用Python调用终端执行命令
316 1
|
6月前
|
NoSQL Java 网络安全
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
|
Go 数据安全/隐私保护 iOS开发
Mac系统重装指南(不抹盘):2023版保姆级教程,轻松解决macOS问题并保留数据和软件
Mac系统重装指南(不抹盘):2023版保姆级教程,轻松解决macOS问题并保留数据和软件
429 0
|
移动开发 Unix Linux
sed命令在Mac和Linux下的不同
sed命令在Mac和Linux下的不同
99 0