linux系统中scp命令的用法

注意:

在使用过程中如果出现   -bash: scp: command not found

请执行yum install openssh-clients

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

(注意:在机房维护时直接连接服务器执行此命令无效!!!)

linux的scp命令可以在linux服务器之间复制文件和目录.

scp命令的用处:    scp用于在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。

scp命令基本格式:scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2

scp命令的参数说明:

-1   强制scp命令使用协议ssh1

-2   强制scp命令使用协议ssh2

-4   强制scp命令只使用IPv4寻址

-6   强制scp命令只使用IPv6寻址

-B   使用批处理模式(传输过程中不询问传输口令或短语)

-C   允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

-p   保留原文件的修改时间,访问时间和访问权限。

-q   不显示传输进度条。

-r   递归复制整个目录。

-v   详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

-c   cipher        以cipher将数据传输进行加密,这个选项将直接传递给ssh。

-F   ssh_config    指定一个替代的ssh配置文件,此参数直接传递给ssh。

-i   identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

-l   limit         限定用户所能使用的带宽,以Kbit/s为单位。

-o   ssh_option    如果习惯于使用ssh_config(5)中的参数传递方式,

-P   port          注意是大写的P, port是指定数据传输用到的端口号

-S   program       指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

scp命令的实际应用1>从本地服务器复制到远程服务器(1) 复制文件:命令格式:

scp  local_file   remote_username@remote_ip:remote_folder

或者

scp  local_file   remote_username@remote_ip:remote_file

或者

scp  local_file   remote_ip:remote_folder

或者

scp  local_file   remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

实例:

scp  /home/linux/soft/scp.zip   root@www.mydomain.com:/home/linux/others/soft

scp  /home/linux/soft/scp.zip   root@www.mydomain.com:/home/linux/others/soft/scp2.zip

scp  /home/linux/soft/scp.zip   www.mydomain.com:/home/linux/others/soft

scp  /home/linux/soft/scp.zip   www.mydomain.com:/home/linux/others/soft/scp2.zip

(2) 复制目录:命令格式:

scp  -r  local_folder   remote_username@remote_ip:remote_folder

或者

scp  -r  local_folder  remote_ip:remote_folder

第1个指定了用户名,命令执行后需要输入用户密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

例子:

scp  -r  /home/linux/soft/  root@www.mydomain.com:/home/linux/others/

scp  -r  /home/linux/soft/  www.mydomain.com:/home/linux/others/

上面命令将本地soft目录复制到远程others目录下,即复制后远程服务器上会有/home/linux/others/soft/ 目录

2>从远程服务器复制到本地服务器从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。

例如:

scp  root@www.mydomain.com:/home/linux/soft/scp.zip  /home/linux/others/scp.zip

scp  www.mydomain.com:/home/linux/soft/  -r  /home/linux/others/

linux系统下scp命令中很多参数都和 ssh1 有关 , 还需要看到更原汁原味的参数信息,可以运行man scp 看到更细致的英文说明.

===============================================================

实践一例:

本地机:X.X.29.12        远程机:X.X.29.18   远程机用户:aaron

要求将本地机上的/www/xinpindao     复制到远程机的/tmp/www

%scp  -r   /www/xinpindao    aaron@X.X.29.18:/tmp/www

正常情况下输入aaron用户的密码即可完成复制!!但此次复制没有成功出现如下提示:

scp: /tmp/www/xinpindao: Permission denied

排错:

重新查看scp命令。。。没有问题!!  重新输入口令。。。没有错误!!

查看远程机目录权限。。。

drwxr-xr-x 2 root  root  4096 May  7 17:30 www

原来问题出现在这儿,此目录是后来使用root用户创建,但是对于aaron用来来讲,没有写入权限,更改权限

%chmod  777   /tmp/www

再次执行上述命令。。。成功!!!

总结:当使用scp命令进行文件复制时如果出现文件权限问题,请仔细检查目录权限,小的细节请引起注意!!

实践二例:

%scp   /www/xinpindao    root@X.X.29.18:/tmp    远程机用户root

root@X.X.29.18's password:

Permission denied, please try again.

经过多次检查后最终发现-为保证安全前期布署过程中已将ssh服务关闭root用户的登录权限

解决方法:

要修改root的ssh权限,即修改 /etc/ssh/sshd_config文件中

PermitRootLogin no 改为 PermitRootLogin yes

重启ssh服务

%/etc/init.d/sshd   restart

重新测试成功!!!

linux scp涉及到权限,linux系统中scp命令的用法(Permission denied排错二例)相关推荐

  1. linux系统中ssh命令,Linux系统中SSH 命令的用法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中SSH命令的用法有哪些?一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方.要亲自一台一台的去访问来管理它们显然不是最好的方法,通 ...

  2. linux只输入wc命令,Linux系统中wc命令的用法详解

    在Linux系统中,wc命令不太经常用到,只是在统计字数的时候才会使用该命令,那么下面由学习啦小编为大家整理了linux系统中wc命令的详细解释的相关知识,希望对大家有帮助! Linux系统中wc命令 ...

  3. php执行md5sum,Linux_详解Linux系统中md5sum命令的用法,MD5算法常常被用来验证网络文 - phpStudy...

    详解Linux系统中md5sum命令的用法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任 ...

  4. linux apt 命令,Ubuntu系统中apt命令的用法汇总

    apt是Advanced Packaging Tool的简称,是一款安装包管理工具.那么要如何使用apt命令来管理安装包呢?apt命令有哪些参数呢?下面小编就给大家详细介绍下Ubuntu中apt命令的 ...

  5. unix和linux命令_Linux / Unix系统中SSH命令的用法

    unix和linux命令 Any security-minded Linux user will always use SSH protocol when connecting to servers. ...

  6. Linux系统中ls命令用法详解

    linux系统中ls命令的用法 ls命令是linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通 ...

  7. linux的常用的wc命令,Linux系统中wc命令使用详解

    Linux系统中wc命令是统计文件文本的字节数等并显示输出.下面由学习啦小编为大家整理了linux系统中wc命令使用详解,希望对大家有帮助! Linux系统中wc命令使用详解 Linux系统中的wc( ...

  8. linux系统中scp命令的用法

    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linux的scp命令可以在linux服务器之间复制文件和目录. scp命令的用处: scp ...

  9. linux命令 scp怎么用,linux系统中scp命令怎么使用

    scp是有Security的文件copy,Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同,cp 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 ...

最新文章

  1. ASP.NET 4学习笔记(1) SQL注入攻击及解决方案.
  2. Android Service的思考(1)
  3. 紫东太初:自动化所开源图-文-音三模态的预训练大模型
  4. 为 Angular service 注册 provider 的三种方式
  5. Linq Join
  6. 安装vbb的一些经验(包括mysql,apache)
  7. 【信号与系统】(二十一)拉普拉斯变换与复频域分析——拉普拉斯变换及其性质
  8. python-网易云音乐搜索下载脚本
  9. Final关键字修饰的变量是否真的不能改变吗
  10. Capsule-LPI:基于胶囊网络的LncRNA-蛋白质相互作用预测工具
  11. React基础(叁)———事件处理
  12. 校园网自动登录,断线重连
  13. 并发编程系列之并发编程的认识
  14. 大清早的发现github凉凉了
  15. java html转excel
  16. SQL Server数据库关于bak类型文件的备份与还原
  17. 面试中人力资源部常问的问题
  18. vscode 解决c语言printf打印中文乱码
  19. CC2640之OAD固件升级及合并方法
  20. 【Redis】面试题总结

热门文章

  1. 2019运营商最新号码段正则表达式
  2. PAT乙级 | 1069 微博转发抽奖 (20分)
  3. 创新理念 汉王手写式鼠标砚鼠新品使用体验
  4. yii2教程-登录与自动登录机制解析
  5. 给未来的你-李开复在2011级大学新生学习规划讲座上的演讲
  6. 【Python笔记_2】使用urllib库发送付费代理请求方式
  7. matlab_stateflow_2
  8. 自己动手实现机器学习算法:神经网络(附源代码)
  9. postgresql Mybatis 序列自增
  10. JavaWeb个人博客项目:手把手教你实现博客后台系统之界面图展示1