一、关于scp

scp是英文secure copy (remote file copy program)的简称,主要用于在两台主机之间通过网络拷贝文件。scp使用ssh协议进行数据传递,其认证方式和安全性同ssh一致。

二、ssh客户端的安装

在使用过程中如果出现提示“-bash: scp: command not found”表示系统还没有安装ssh客户端软件,需要执行yum install openssh-clients命令进行安装

三、scp命令的使用方法

1、scp命令的基本语法

scp [options] [[user@]host1:]file1 … [[user@]host2:]file2

2、scp命令的常用参数

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

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

-4 强行使用 IPV4 地址。

-6 强行使用 IPV6 地址。

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

-C使用此参数时ssh协议打开压缩选项。

-P 指定远程主机的端口。注意是大写字母“P”。

-r 以递归方式复制文件夹内的数据。在拷贝文件夹是要用到此选项。

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

-q 不显示传输进度条。

-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)中的参数传递方式,

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

四、scp命令的使用示例

1、从本地主机复制文件(夹)到远程主机

命令格式为(-r参数用于递归复制文件夹):

scp (–r) local_file remote_username@remote_ip:remote_folder

[root@centos ~]#scp /tmp/temp.txt root@192.168.1.2:/tmp/temp.txt

说明:将本地主机文件/tmp/temp.txt复制到远程主机192.168.1.2上的/tmp文件夹中(远程主机用户为root)

[root@centos ~]#scp –r /tmp root@192.168.1.2:/tmp

说明:将本地主机文件夹/tmp中的所有文件以递归方式拷贝到远程主机192.168.1.2上的/tmp文件夹中(远程主机用户为root)

2、从远程主机复制文件(夹)到本地主机

scp (–r) remote_username@remote_ip:remote_folder local_file

3、在两台远程主机之间复制文件(夹)

scp(–r) remote_username@remote_ip:remote_folder

五、使用过程中可能碰到的问题及解决方法

1、用户文件权限引起的“许可拒绝”问题

示例:

username1 是本地机 username2 是远程

# scp /home/files username2@192.168.1.1:/home/files2 username2@192.168.1.1's password:
scp: /home/files2: Permission denied

说明:这是因为远程主机的用户username2没有/home/files2文件的写权限。可以使用以下解决办法:

本地服务器上执行:

#scp /home/files username2@192.168.1.1:/tmp

然后远程服务器上执行:

#mv /tmp/files /home/files

或者可以在远程主机上配置/home文件夹增加用户username2的写权限。

2、ssh协议中用户权限配置引起的“许可拒绝”问题

示例:

#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

转载地址:http://myblog.jyc.edu.cn/?p=151

(转)使用scp命令在linux操作系统之间传递文件的更多相关文章

  1. 采用scp命令在Linux系统之间copy文件

    不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy.第二种方法就是采用 ...

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

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

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

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  4. Linux命令(20)linux服务器之间复制文件和目录

    linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上 ...

  5. Linux和Windows之间传递文件

    由于自己的计算机的性能不足,代码只能在服务器上运行,要把代码搬到服务器上运行在没有root权限的情况下,本身就是一件不太容易的事情,我准备下次再写一下这方面的技巧.这篇博客,我只说比较一下几种在不同操 ...

  6. 使用WinSCP在Windows和Linux系统之间传输文件

    小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...

  7. scp命令详解—跨服务器复制文件

    scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入. 在服务器104.238.161.75上操作,将服务器 ...

  8. linux服务器之间传输文件的四种方式

    linux文件传输在内网渗透中至关重要,所以我在此总结一下几种Linux服务器之间传输文件的四种方式 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法]scp就是se ...

  9. Linux与linux之间传递文件、

    1.从linux本机文件上传到另一台linux格式:scp 要传的文件 root@目标ip:路径scp –r 要传的目录 root@目标ip:路径 例子: scp  /root/1.txt   roo ...

随机推荐

  1. Android 之Activity切换动画效果

    在Activity中Android提供了overridePendingTransition(int enterAnim,int exitAnim)这个方法用于设置Activity之间切换的动画效果.o ...

  2. cf D. Alternating Current

    http://codeforces.com/contest/344/problem/D #include <cstdio> #include <cstring> #includ ...

  3. Qt如何去掉按钮等控件的虚线框(焦点框)(两种方法)

    方法1:可以通过代码ui->pushButton->setFocusPolicy(Qt::NoFocus)或在Qt Creator的属性列表中设置. 方法2:如果在嵌入式设备中需要通过按键 ...

  4. Mysql 插入记录时检查记录是否已经存在,存在则更新,不存在则插入记录SQL

    我们在开发数据库相关的逻辑过程中, 经常检查表中是否已经存在这样的一条记录, 如果存在则更新或者不做操作, 如果没有存在记录,则需要插入一条新的记录. 这样的逻辑固然可以通过两条sql语句完成. SE ...

  5. 使用opencv传中文文件崩溃

    这个问题经过我的调试发现:   程序是在 while (*at && !isdigit(*at)) at++;   这个语句时crash的,但是跟进去是isdigit的问题,因为变量a ...

  6. 使用skin++进行MFC界面美化范例

    1.下载skin++皮肤库和皮肤库,skin++皮肤库主要包括:SkinPPWTL.dll,SkinPPWTL.lib,SkinPPWTL.h这三个文件.把这三个文件 拷贝到工程目录下. 2.在工程中 ...

  7. C# 实现简单状态机(参考代码)

    using System; namespace StateMachine2.State { public enum AnimationState { Walk = , Dead, } public a ...

  8. UIScrollView上面放一个UIScrollView或者UITableView拖动时候 View出现一闪一闪解决办法

    在项目中发现一个问题: 创建一个UIScrollView 上面放一个scrollView或者TableView,拖动scrollview或TableView 画面出现一闪一闪的情况. 解决办法设置一下 ...

  9. 从零开始学C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)

    一.移除性算法 (remove)  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

  10. [Spring入门学习笔记][创建网站URL]

    设计网站的URL 现代的Web站点都会设计一套拥有明确意义,方便用户记忆的URL,不论是域名还是路径,以天码营为例: http://tianmaying.com/courses表示网站下所有的课程列表 ...