关于scp:文件传输
scp命令的应用引言scp(secure copy)是一个命令行工具,用于在两台机器间平安的传输文件和目录。安全性保障是因为文件和明码在传输时都会加密。能够跨零碎,但倡议传输的两台机器操作系统一样。 一.基于IP,用户名,和明码的文件传输信息流能够是以下模式中的任意一种:本地机器到近程机器;近程机器到本地机器;两个近程机器间(本地机器上操作) 命令应用语法命令应用的根本格局: scp [OPTION] UserName@Source_Host:file1 UserName@Destination_Host:file2要害:文件从前一个对象传输到后一个对象。[OPTION]参数如下: -P 指明近程机器的ssh端口。-p 保留原文件的批改工夫,拜访工夫和拜访权限。-q 不显示传输进度条(传输的过程信息:如传输速度)-C 运行压缩数据-r 复制目录时应用(recursive:递归的)命令应用阐明scp命令的应用时,数据的传输依赖于ssh,因而要提供密钥和明码以在近程机器上认证。复制文件时:必须要有对源文件的读权限和对指标文件的写权限。若两个零碎中有同名同地位的文件,scp命令会覆写文件而不抛出正告信息。 应用示例传输一个本地文件到近程零碎 scp file.txt remote_username@10.10.0.2:/remote/directory #file.txt不重命名scp file.txt remote_username@10.10.0.2:/remote/directory/newfilename.txt #重命名为newfilename.txtscp -P 2322 file.txt remote_username@10.10.0.2:/remote/directory #ssh默认监听端口22。若近程机器ssh监听的不是22,则-P参数指明监听端口scp -r /local/directory remote_username@10.10.0.2:/remote/directory #传输目录和传输文件相似,只需加一个-r参数。本地目录能够用相对路径。file.txt是要传输的本地文件;remote_username@10.10.0.2 是近程机器的用户名和IP/remote/directory是文件要放的近程机器的目录。若不指明此命令,则文件会放在近程机器的用户的家目录。命令执行时,须要输出近程机器用户登录明码。 传输近程机器文件到本地机器 scp remote_username@10.10.0.2:/remote/file.txt /local/directory #将近程机器的file.txt文件复制到本地目录/local/directory下。本地目录须要指明。当前目录用.示意。在两个近程机器间传输文件 #留神:以下命令不反对基于用户名,明码的形式传输。即scp -3 user1@ip1:/files/file.txt user2@ip2:/files,再输出scp -3 user1@host1.com:/files/file.txt user2@host1.com:/files #复制近程机器host1.com上的文件file.txt到近程机器host1.com的/files目录下。#-3选项使得数据传输通过本地机器,若无此选项,则数据间接在两个近程机器上传输。能够从近程先用ssh近程登录到一台近程机器,再从此机器拷贝文件到另一台近程机器。 二.基于密钥的传输从近程到本地机器传输文件 scp -i id_rsa_path username@ip:/remote/file.txt /local/directory #-i参数指明私钥id_rsa这个文件在本地的门路