首页 > 运维 > linux运维 > 正文

linux中如何使用SCP命令安全地传输文件?(代码示例)

青灯夜游
发布: 2019-03-20 13:27:02
原创
4206 人浏览过

SCP(安全副本)是一个命令行实用程序,允许用户在两个位置之间安全地复制文件和目录。下面本篇文章就来带大家了解一下SCP命令,介绍使用SCP命令是如何安全地传输文件,希望对大家有所帮助。

linux中如何使用SCP命令安全地传输文件?(代码示例)

linux SCP命令

SCP命令是一个linux下进行远程拷贝文件的命令,允许用户在两个位置之间安全地复制文件和目录。

使用SCP命令,用户可以复制文件(或目录):

● 从本地系统到远程系统。

● 从远程系统到本地系统。

● 在本地系统的两个远程系统之间。

使用scp传输数据时,文件和密码都是加密的,这样任何窥探流量的人都不会得到任何敏感信息。

SCP命令的基本语法:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
登录后复制

● OPTION: scp选项,如密码,ssh配置,ssh端口,限制,递归复制..等。

● [user@]SRC_HOST:]file1:源文件。

● [user@]DEST_HOST:]file2 : 目标文件。

本地文件应使用绝对或相对路径指定,而远程文件名应包括用户和主机规范。

SCP提供了许多选项来控制其行为的各个方面。最广泛使用的选项有:

● -P 指定远程主机ssh端口。

● -p 保留文件修改和访问时间。

● -q 如果要禁止进度表和非错误消息,请使用此选项。

● -C。此选项将强制scp在将数据发送到目标计算机时压缩数据。

● -r 此选项将告诉scp以递归方式复制目录。

说明:开始使用SCP命令时

因为scp命令依赖ssh进行数据传输,所以在远程系统上进行身份验证需要ssh密钥或密码。

冒号(:)是SCP如何区分本地和远程位置的。

为了能够复制文件,用户必须至少拥有源文件的读取权限和目标系统的写入权限。

在两个系统上复制共享相同名称和位置的文件时要小心,scp会在没有警告的情况下覆盖文件。

如何使用SCP复制两个系统之间的文件和目录?

1、使用scp命令将本地文件复制到远程系统

要将文件从本地复制到远程系统,请运行以下命令:

scp file.txt remote_username@10.10.0.2:/remote/directory
登录后复制

说明:file.txt是我们要复制的文件名,remote_username是远程服务器上的用户名,10.10.0.2是服务器IP地址;/remote/directory是要将文件复制到的目录的路径,如果不指定远程目录,文件将被复制到远程用户主目录。

系统将提示用户输入用户密码,然后将开始传输过程。

输出:

remote_username@10.10.0.2's password:
file.txt                             100%    0     0.0KB/s   00:00
登录后复制

从目标位置省略文件名会使用原始名称复制文件。如果要以不同的名称保存文件,则需要指定新名称:

scp file.txt remote_username@10.10.0.2:/remote/directory/newfilename.txt

如果远程主机上的SSH正在侦听默认端口22以外的端口,则可以使用以下-P参数指定端口:

ssh -P 2322 file.txt remote_username@10.10.0.2:/remote/directory
登录后复制

要将目录从本地复制到远程系统,请使用以下-r选项:

scp -r /local/directory remote_username@10.10.0.2:/remote/directory
登录后复制

2、使用scp命令将远程文件复制到本地系统

要将文件从远程系统复制到本地系统,需要使用远程位置作为源,使用本地位置作为目标。

例如,要从IP为10.10.0.2的远程服务器复制名为file.txt的文件,需要运行以下命令:

scp remote_username@10.10.0.2:/remote/file.txt /local/directory

注:如果用户没有设置远程计算机的“无密码ssh登录”,将要求输入用户密码。

3、使用scp命令在两个远程系统之间复制文件

使用scp时,用户无需登录到其中一台服务器,就可以将文件从一台远程计算机传输到另一台远程计算机。

例如,以下命令可以将文件/files/file.txt从远程主机host1.com复制到远程主机host2.com上的目录/files上。

scp user1@host1.com:/files/file.txt user2@host2.com:/files
登录后复制

系统将提示用户输入两个远程帐户的密码;数据将直接从一个远程主机传输到另一个。

相关视频教程推荐:《Linux教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上是linux中如何使用SCP命令安全地传输文件?(代码示例)的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板