Linux SCP 命令教程:安全地传输文件 🚀
SCP
(Secure Copy Protocol)是用于在网络中进行加密的文件传输协议,通常用于在本地和远程主机之间安全地复制文件。它基于 SSH 协议,因此数据在传输过程中会被加密,保证了文件的安全性。🔐
在这篇教程中,我们将深入学习 scp
命令的常用用法和一些实用技巧,帮助你高效、安全地传输文件。📁
1. SCP 基本用法
命令格式很简单: 1.左边发,右边接。 2.写主机名的是远程主机,忽略主机名的是本机主机。
从本地复制文件到远程主机
本地文件 ~/app/Chatbox.AppImage
发送到📁 远程主机的主目录。
$ scp ~/app/Chatbox.AppImage user@myserver:~
Chatbox.AppImage 100% 100MB 111.5MB/s 00:00
-
在 SCP 中可以使用
~
表示用户主目录,但是有的传输命令是不可以的,遇到的时候要注意。 -
在
.ssh/config
中定义主机别名,写起来更加简单,而且可以使用Tab
补全:对比scp 发送文件 主机别名:目录
scp 发送文件 用户名@主机名:目录
从远程主机复制文件到本地
从远程主机复制文件到本地也很简单:
scp 远程主机:发送文件 接收目录
例如:
scp user@192.168.1.10:~/file.txt .
使用别名让命令更简洁明了:
scp remote-server:~/file.txt .
左发右接,不写本地主机。
scp 本地文件 远程主机:接收目录
scp 远程主机:发送文件 本地目录
复制目录(递归复制)
如果你想复制整个目录,可以使用 -r
选项来递归复制目录中的所有内容,例如:
scp -r myfolder remote-server:~
通过指定端口进行 SCP 连接
如果远程服务器使用了非默认的 SSH 端口,你可以使用 -P
选项来指定端口。
例如,使用端口 2222
将 file.txt
复制到远程主机:
scp -P 2222 file.txt remote-server:~
2. SCP 进阶用法与实用技巧
限制传输带宽
如果你希望限制文件传输的带宽,可以使用 -l
选项(单位是 Kbit/s)。
例如,限制带宽为 500 Kbit/s:
scp -l 500 file.txt remote-server:~
显示传输进度
如果你需要查看传输进度,使用 -v
选项,SCP 会打印出详细的执行过程:包括连接过程、传输速率等。
使用 SSH 密钥认证
为了避免每次都输入密码,你可以使用 SSH 密钥认证。确保你已经生成了 SSH 密钥对,并将公钥添加到远程服务器的 ~/.ssh/authorized_keys
文件中。然后直接使用 scp
命令进行文件传输:
scp file.txt remote-server:~
如果 SSH 密钥已经配置好,你将不再需要输入密码,文件会直接传输。
同时传输多个文件
你可以同时传输多个文件到远程服务器,使用空格分隔文件列表:
scp file1.txt file2.txt file3.txt remote-server:~
使用代理跳板(跳转主机)
如果你需要通过一个中间的跳板主机连接到目标服务器,可以使用 -J
选项。
例如,先通过 jump-host
连接到目标服务器:
scp -J jump-host file.txt remote-server:~
3. 总结 🌟
SCP
是一种强大的工具,可以安全地在本地和远程主机之间传输文件。通过合理使用常见选项,结合加密和认证机制,SCP
可以高效且安全地完成文件复制任务。你还可以使用进阶技巧优化带宽、查看进度和传输多个文件。
希望这篇教程能帮助你熟练掌握 scp
命令,让你在文件传输时更加得心应手!🔐
希望这篇教程对你有所帮助!别忘了收藏在线知识库( www.zxzsk.com )哦!😊