使用croc命令在Linux系统电脑之间传输文件和文件夹

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 使用croc命令在Linux系统电脑之间传输文件和文件夹

微信图片_20220419171106.jpg在两台或多台计算机之间传输文件的方法有很多。你可以使用基于服务器的文件共享工具,点对点文件共享app,U盘,外部硬盘驱动器,SCP,NFS,FTP,HTTP,云存储平台等等。本文将介绍一个名为 croc 的命令行工具,可以让你轻松、快速、安全地在计算机之间传输文件和文件夹。使用 croc 工具传输数据的速度很快,因为它充当系统之间的中继服务器。它在两台计算机之间创建了全双工实时通信层,因此「上传」和「下载」任务在两台计算机之间同时发生。croc 使用密码验证密钥交换(PAKE)库提供端到端加密。PAKE库允许两个人使用双方都知道的弱密钥来生成强密钥。然后将此密钥用于进一步加密。由于密钥仅由发送者和接收者知道,因此即使第三者知道原始密码,也没有办法知道秘钥。croc 能够一次在计算机之间传输多个文件。如果数据传输由于任何原因而中断,下次传输的时候它可以从上次中断的地方继续进行文件传输。由于 croc 使用中继,因此你不需要中央服务器或端口转发。它是一个跨平台的应用程序,因此你可以在 Linux,Mac 和 Windows 平台之间传输数据。简而言之, croc 执行以下操作:

  • 使用中继在两台计算机之间传输数据,
  • 使用 PAKE 库提供 端到端加密
  • 一次传输多个文件
  • 断点续传,
  • 不需要中央服务器端口转发,
  • ipv6-first 和 ipv4 后备,
  • 零依赖性,
  • 跨平台
  • 免费和开源。

croc 使用 Go 编程语言所编写,并遵从 MIT 许可免费提供。

在Linux上安装Croc工具

可以在 Bash 上使用以下命令将 croc 安装在所支持的任何 Linux 和 Unix 发行版上:

$ curl https://getcroc.schollz.com | bash

这个命令将把 croc 源码下载到本地并安装在 /usr/local/bin/ 目录下。如果你不想直接注入Shell,可以从**发行版页面**下载预编译的二进制文件,并使用发行版的软件包管理器进行安装。例如,在Ubuntu系统上可以使用以下命令安装 Croc deb 文件:

$ sudo apt install gdebi

$ sudo gdebi croc_8.3.2_Linux-64bit.deb

你可以使用 pacmancroc 安装在 Arch Linux 及其衍生版本中:

$ pacman -S croc

在 NixOS 上,执行以下命令进行安装:

$ nix-env -i croc

croc 也可用 snap 方式进行安装:

$ snap install croc

如果您已在 Linux 系统上安装了 Go 环境,也可以从源代码编译 croc  。

$ GO111MODULE=on go get -v github.com/schollz/croc/v8

使用Croc在计算机之间传输文件和文件夹

在使用之前,先确保在所有系统上都安装了 croc要使用 croc 传输文件/文件夹,只需运行:

$ croc send <文件或文件夹路径>

例:

$ croc send file.txt

croc 将生成如下的随机代码短语,相当于暗号。

Sending 'file.txt' (116 B)

Code is: slow-tomato-almond

On the other computer run


croc slow-tomato-almond

在这里,代码短语(暗号)是 slow-tomato-almond。该代码短语用于建立经过密码验证的密钥协议(PAKE),该协议会生成供发送方和接收方用于端到端加密的秘钥。如果想要在另一台计算机上接收上述文件,那么收件人应输入上述输出的最后一行命令:

$ croc slow-tomato-almond

y,然后按回车键来接收文件。

Accept 'file.txt' (116 B)? (y/n) y


Receiving (<-192.168.225.37:9009)

file.txt 100% |████████████████████| (116/116 B, 32.966 kB/s) [0s:0s]

输出示例:微信图片_20220419171109.jpgpic

目录
相关文章
|
6天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
28 8
|
16天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
100 20
|
16天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
43 7
|
8月前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
2223 0
|
8月前
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
255 0
|
3月前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
6月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
4月前
|
Ubuntu Linux 网络安全
从头安装Arch Linux系统
本文记录了作者安装Arch Linux系统的过程,包括安装成果展示和遇到的疑难点及其解决方法,如硬盘不足、下载失败、设置时区、安装微码和配置无密码登录等。
100 1
从头安装Arch Linux系统
|
5月前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
5月前
|
Linux
虚拟机安装Linux系统的网络配置
该博客文章提供了解决虚拟机中Linux系统网络问题的多种方法,包括重置网络服务、修改网络配置文件、使用不同网络模式等,以确保虚拟机能够成功连接到网络。
虚拟机安装Linux系统的网络配置