使用网线连接两台Ubuntu电脑进行快速数据传输
使用网线连接两台Ubuntu电脑进行快速数据传输
本文将详细介绍如何使用一根网线直接连接两台Ubuntu电脑,通过配置静态IP地址和网络设置,实现快速数据传输。这种方法特别适用于没有网络环境或需要快速传输大量数据的场景。
物理连接
使用网线直接将两台电脑的网口连接起来。
配置静态 IP 地址
在每台电脑上配置静态 IP 地址。假设您使用的是 Ubuntu 系统。
现代 Linux 发行版(如 Ubuntu 18.04 及以后)使用可预测的网络接口名称(predictable network interface names),这些名称通常是 enp0s3、ens33 等。
您可以通过以下命令来列出网络接口并找到正确的接口名称:
ip link show
这个命令将显示所有网络接口的列表,类似如下输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:58:94:0a brd ff:ff:ff:ff:ff:ff
在这个例子中,网络接口名称是 enp0s3。找到您的接口名称后,可以使用正确的接口名称配置 IP 地址。
配置网络
假设您的网络接口名称是 enp0s3,可以按以下步骤配置:
使用 ip 命令配置 IP 地址
- 电脑1:
配置静态 IP 地址:
sudo ip addr add 192.168.1.11/24 dev enp0s3
sudo ip link set enp0s3 up
- 电脑2:
配置静态 IP 地址:
sudo ip addr add 192.168.1.12/24 dev enp0s3
sudo ip link set enp0s3 up
测试连接
配置完成后,您可以使用 ping 命令测试两台电脑之间的连接:
- 从电脑1:
ping 192.168.1.12
- 从电脑2:
ping 192.168.1.11
通过正确的网络接口名称配置,您应该能够顺利建立两台电脑之间的网络连接并传输数据。
数据传输
有多种方法可以在两台电脑之间传输数据。以下是几种常用方法:
方法1:使用 scp(安全复制)
scp 命令用于通过 SSH 进行文件复制。确保两台电脑上都安装了 SSH,并启动了 SSH 服务。
- 从电脑1传输文件到电脑2:
scp /path/to/local/file username@192.168.1.12:/path/to/remote/destination
- 从电脑2传输文件到电脑1:
scp /path/to/local/file username@192.168.1.11:/path/to/remote/destination
方法2:使用 rsync
rsync 是一个用于文件和目录同步的工具。
- 从电脑1同步文件到电脑2:
rsync -avz /path/to/local/file username@192.168.1.2:/path/to/remote/destination
- 从电脑2同步文件到电脑1:
rsync -avz /path/to/local/file username@192.168.1.1:/path/to/remote/destination
方法3:使用 ftp
可以使用 FTP 服务进行文件传输,配置 FTP 服务并使用 FTP 客户端连接。
这里我们使用 scp 命令。
错误:
scp ./vins-mono-melodic.tar h@192.168.1.12:/home/h/
ssh: connect to host 192.168.1.12 port 22: Connection refused
lost connection
这个错误信息表明,目标电脑的 SSH 服务没有运行,或者目标电脑的防火墙阻止了端口 22 的连接。以下是一些解决办法:
确保 SSH 服务已安装并正在运行
确保两台电脑上都安装了 SSH,并启动了 SSH 服务。这里本地电脑也要开启 SSH。
在目标电脑(IP 地址为 192.168.1.12)上执行以下命令来检查并启动 SSH 服务:
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
然后检查 SSH 服务状态:
sudo systemctl status ssh
检查防火墙设置
如果您的系统使用 ufw(Uncomplicated Firewall),确保端口 22 已被允许:
sudo ufw allow 22
sudo ufw enable
检查防火墙状态:
sudo ufw status
尝试重新连接
在源电脑上再次尝试使用 scp 进行文件传输:
scp ./vins-mono-melodic.tar h@192.168.1.12:/home/h/
# 输入 目标电脑的密码,我们成功了。
确保两台电脑在同一网络中
确保两台电脑在同一网络中,并且可以通过 ping 命令相互通信。例如,从源电脑上 ping 目标电脑:
ping 192.168.1.12
示例操作步骤
- 在目标电脑(192.168.1.12)上:
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
sudo ufw allow 22
sudo ufw enable
- 在源电脑上再次尝试使用 scp:
scp ./vins-mono-melodic.tar h@192.168.1.12:/home/h/
通过这些步骤,您应该能够解决 ssh: connect to host 192.168.1.12 port 22: Connection refused 错误,并成功传输文件。
此外,需要使用:https://blog.csdn.net/xuzhengzhe/article/details/136271161中的方法进行设置。只是通过命令设置 会一直 弹网络连接失败。
然后我们就可以登录:
ssh h@192.168.1.11
ssh h@192.168.1.12