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

scp 方式传输数据操作步骤
步骤一:打开新电脑的「远程登录开关」
设置中搜索「共享」,打开「远程登录开关」

image.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

/usr/sbin/sshd

步骤三:找到新电脑的 ip 和用户名
在新电脑的终端执行 ifconfig 找到新电脑的 ip 地址。

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

在老电脑中执行 scp 命令复制文件夹到新电脑
scp -r localdir user@host:$dirpath # 即 scp -r 本地目录路径 远程主机用户名@ip:存放文件路径

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

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

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
如果报错:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

这个问题应该是发生在,你想把本地文件上传到远程服务器,可能你本地的私钥文件不是默认文件名,此时需要你执行 scp 命令时指定私钥文件

scp -i ~/.ssh/id_rsa_xxx -r localdir user@host:$dirpath # -i 后面是本地私钥文件的文件路径,这个一般跟 ~/.ssh/config 文件里配置的私钥路径相同

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容