linux 命令之 scp 安全拷贝

一.scp介绍

一般情况,本地网络跟远程网络进行数据交包,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync 

大型数据迁移用rysync,其次用fetch/wget ,最次是ftp,最慢是ftp.

scp   --secure copy (remote file copy program) 安全拷贝,远程文件拷贝

scp 在网络主机之间进行文件的拷贝.它使用ssh进行文件传输. 并且使用和ssh相同的认证.

scp如果需要认证,将会询问密码或者密码短语

本地文件的名字可以使用明确的绝对路径或者使用相对路径.

scp 允许在两个远程主机之间进行文件传输.

二.选项说明

-1  使用ssh1 协议

-2 强制使用ssh2 协议

-3 通过本地主机对两个远程主机进行拷贝

-4 强制scp使用IPv4地址

-6 强制scp使用IPv6地址

-B 使用分批处理模式.期间不需要使用口令

-C 支持压缩

-c cipher 使用cipher加密数据传输

-F 使用指定的ssh_config文件来配置ssh,该参数直接传递给ssh.

-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。    
-l limit  限定用户所能使用的带宽,以Kbit/s为单位。     
-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   
-P port  注意是大写的P, port是指定数据传输用到的端口号   

-r 迭代拷贝整个文件夹

-p 保存原始文件的修改时间,访问时间和访问权限
-S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项


三.案例说明

说明一下,我使用的是局域网内,一个ip为:192.168.1.101,一个是192.168.1.103

操作的这台机器是第一个.

1.  scp -r 192.168.1.103:/home/fengfulee/python /programming

之后会询问root密码.

解释:将103主机上/home/fengfulee/python 目录中的内容 拷贝到 101(本机)的/python目录中.

成功之后,在我本机的/programming目录中将会出现一个python目录.

2.scp fengfulee@192.168.1.103:/home/fengfulee/abc.txt /

说明:使用103主机的普通账号对内容进行拷贝到本机的/目录中

这里要注意一点,我在101 上使用的是root账户.拷贝到本机的文件所有者将会自动转为root所有.不再是远程机器上的所有者.

如果要保持一致性,可以使用-p命令.

附带说明:这里我做了一个补充.

我使用root账户在103的/home/fengfulee/ 的目录下建立了一个abcd.txt 将其权限改为644 ,

再次调用scp命令.是可以进行复制的.

但是如果我将权限改为640 发现无法复制(fenguflee这个账户不是root组的成员),

没有可读的权限.所以无法复制.这是可以理解的.该文件有可读的权限,那么就是可以远程复制的.不然将会是一个系统漏洞了吧.

3.scp dcba.txt  fengfulee@192.168.1.103:/home/fengfulee

这里的dcba.txt同样使用root账户创建. 远程/home/fengfulee 目录中出现了dcba.txt文件.权限变为fengfulee.

这个也很好理解,就是本地root账户进行拥有者权限转移. 同样的,可以使用-p命令来保持文件属性的一致性.

4配置自己的103 主机的/etc/ssh/sshd_config 文件,修改Port端口号为22222

然后在101 上面使用scp

scp -P 2222 192.168.1.103:/home/fengfulee/abc.txt /


其实还有很多的内容,以后再补充吧.

### 回答1: 使用Linuxscp命令可以拷贝文件夹。具体步骤如下: 1. 打开终端,输入以下命令scp -r [源文件夹路径] [目标主机用户名]@[目标主机IP地址]:[目标文件夹路径] 其中,-r表示递归拷贝,[源文件夹路径]为要拷贝的文件夹路径,[目标主机用户名]@[目标主机IP地址]为目标主机的用户名和IP地址,[目标文件夹路径]为要拷贝到的目标文件夹路径。 2. 输入目标主机的密码,等待拷贝完成。 注意:如果目标文件夹路径不存在,则会自动创建。如果目标文件夹已存在,则会将源文件夹拷贝到目标文件夹下面。 ### 回答2: Linux操作系统中,scp命令是经常用来实现文件传输的命令。它支持在不同主机之间进行文件复制和传输,无需登录ftp服务器或其他传输方式。通过scp命令在不同主机之间传输文件,可以通过许多方式完成。在本篇文章中,我们将重点介绍如何使用Linux scp命令拷贝文件夹。 安装scp命令 在开始使用scp命令之前,需要先在Linux操作系统中安装scp软件。如果您的Linux系统未安装scp命令,则可以使用以下命令将其安装: sudo apt-get install openssh-client 接下来,使用以下命令检查是否已成功安装scp命令scp --version 其中,--version参数是用来查看当前操作系统中安装的scp命令版本。 拷贝文件夹 要使用scp命令拷贝文件夹,则需要使用-r命令,其中-r参数意味着递归复制目录和其子目录中的所有内容。以下是拷贝文件夹的详细步骤: 1. 在要拷贝的文件夹所在的主机中,在终端中打开scp命令。 2. 输入以下命令,将文件夹从主机A拷贝到主机B: scp -r /path/to/folder/ username@remote:/path/to/destination/ 其中的/path/to/folder/是要拷贝的文件夹的路径,username是连接远程主机的用户名,remote是远程主机的IP地址或主机名,/path/to/destination/是文件夹拷贝到远程主机上的目标路径。 3. 回车后,ssh连接将验证身份,并提示输入远程密码(或SSH秘钥)。 4. 输入密码后,scp命令将开始将目录和其子目录中的所有文件复制到远程主机的目标路径。 总结 通过上述步骤,您将学会如何使用Linux scp命令拷贝文件夹。使用scp命令简单而快捷,适用于大多数Linux用户和管理员,特别适用于需要在不同主机之间传输文件的企业或个人。在实际应用中,为了保障数据安全,强烈建议您在使用scp命令进行文件传输时,增加安全性措施,如使用SSH秘钥来连接主机,以保护数据的机密性。 ### 回答3: SCP是指“Secure Copy”,它是一个用于在Linux操作系统中远程拷贝文件的命令。与其他拷贝命令相比,SCP是一项更加安全和可靠的数据传输方式。其中,SCP命令可以被用于在Linux系统中拷贝文件和目录。 想要拷贝文件夹,首先要了解SCP命令用法。SCP可以把本地文件复制到远程服务器上,也可以将远程服务器上的文件复制到本地电脑上。使用SCP命令拷贝文件夹的语法如下: ```scp -r /path/to/source/folder username@remote_host:/path/to/destination``` 其中,-r标志表示文件夹的递归复制,也就是说可以把一个目录中所有的子目录全部复制到目标目录中。/path/to/source/folder是本地文件夹的路径,remote_host是目标主机,destination是目标文件夹的路径。要注意的是,如果目标文件夹不存在,SCP会自动创建它。 接着,输入密码就可以开始拷贝了。SCP命令的一大优势就是加密传输,这意味着你可以在不安全的网络中安全地复制文件。 总体来说,SCP是一个极其实用的命令,它可以让用户更加方便和可靠地进行文件复制。借助SCP,我们可以轻松地在Linux系统中拷贝文件夹,从而提高我们的工作效率,也保证了文件的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值