• 技术文章 >运维 >linux运维

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

    青灯夜游青灯夜游2019-03-20 13:27:02原创2706
    SCP(安全副本)是一个命令行实用程序,允许用户在两个位置之间安全地复制文件和目录。下面本篇文章就来带大家了解一下SCP命令,介绍使用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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux SCP命令
    上一篇:如何在Shell脚本中提取文件名和扩展名 下一篇:如何在shell脚本中使用逻辑或&和
    Web大前端开发直播班

    相关文章推荐

    • linux如何查看端口占用• Linux中如何使用rename命令重命名文件?• Linux服务器安全提示• 如何使用Linux中的SCP命令安全地传输文件

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网