登录
首页 >  文章 >  linux

LINUXscp远程复制文件教程

时间:2025-11-10 09:59:31 357浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《LINUX scp命令远程复制文件方法》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

使用scp命令可安全传输文件。1. 本地传远程:scp /本地/路径 用户@IP:/远程/路径;2. 远程下载:scp 用户@IP:/远程/文件 /本地/路径;3. 复制目录加-r参数;4. 非标准SSH端口用-P 端口指定;5. 配置SSH密钥实现免密传输。

LINUX复制文件到另一个服务器的命令_LINUX使用scp命令远程复制文件

如果您需要将本地文件传输到远程Linux服务器,或在两台服务器之间复制文件,可以使用安全复制协议(scp)命令实现加密传输。该方法基于SSH协议,确保数据传输的安全性。

本文运行环境:Dell XPS 13,Ubuntu 22.04

一、从本地复制文件到远程服务器

此操作用于将本机上的单个文件或目录上传至目标远程服务器的指定路径下,利用SSH认证完成身份验证。

1、打开终端并输入以下命令格式:scp /本地/文件/路径 用户名@远程IP:/远程/目标/路径

2、例如要将本地的config.txt发送到远程服务器的/home/user目录下,执行:scp config.txt user@192.168.1.100:/home/user/

3、输入远程用户的密码后,文件开始传输,完成后会自动退出命令行。

二、从远程服务器下载文件到本地

该方式适用于从远程主机获取文件并保存至当前本地系统中,方向与上传相反。

1、使用如下语法结构:scp 用户名@远程IP:/远程/文件/路径 /本地/保存/路径

2、如需从远程服务器获取日志文件log.txt并存放到当前目录,运行:scp user@192.168.1.100:/var/log/log.txt ./

3、认证通过后,文件将被下载至当前工作目录。

三、复制整个目录及其内容

当需要迁移整个文件夹时,必须启用递归选项以包含子目录和所有内部文件。

1、添加 -r 参数表示递归复制目录结构,命令格式为:scp -r /本地/目录/ 用户名@远程IP:/目标/路径/

2、例如复制本地backup文件夹到远程服务器的/tmp目录:scp -r ./backup user@192.168.1.100:/tmp/

3、等待传输完成,所有子文件与子目录都会按原结构复制过去。

四、指定SSH端口进行文件复制

某些服务器可能更改了默认的SSH服务端口(非22端口),此时需显式声明连接所用端口号。

1、使用 -P 参数附加端口号,注意大写P,命令结构为:scp -P 端口号 源路径 用户名@IP:目标路径

2、若远程SSH服务运行在端口2222,则上传文件命令应为:scp -P 2222 file.txt user@192.168.1.100:/home/user/

3、确保防火墙允许该端口通信,否则连接会被拒绝。

五、使用密钥认证免密码传输

配置SSH密钥对可实现无需每次输入密码即可完成scp操作,提高自动化效率。

1、先生成本地SSH密钥对:ssh-keygen -t rsa -b 2048,按提示保存到默认路径。

2、将公钥上传至远程服务器的~/.ssh/authorized_keys文件中:ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.100

3、配置完成后,后续所有scp命令将自动通过密钥验证登录,不再要求输入密码。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>