• (转)使用scp命令在linux操作系统之间传递文件


    一、关于scp

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

    二、ssh客户端的安装

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

    三、scp命令的使用方法

    1scp命令的基本语法

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

    2scp命令的常用参数

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

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

    -4 强行使用 IPV4 地址。

    -6 强行使用 IPV6 地址。

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

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

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

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

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

    -q 不显示传输进度条。

    -v 详细方式显示输出。scpssh(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

    示例1

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

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

    示例2

    [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的写权限。

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

    示例:

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

    root@X.X.29.18's password:

    Permission denied, please try again.

    说明:这是由于ssh服务关闭root用户的登录权限引起。可以使用以下解决方法:

    要修改rootssh权限,即修改 /etc/ssh/sshd_config文件中PermitRootLogin no 改为 PermitRootLogin yes,然后重启ssh服务即可

    #/etc/init.d/sshd   restart

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

  • 相关阅读:
    GZIPInputStream 流未关闭引起的内存泄漏问题
    Java ExcutorService优雅关闭方式
    redis pipline
    LeetCode 30与所有单词相关联的字串
    Scala不使用null 而使用Option,None,Some的好处
    记录: 一次解决整型溢出攻击(使用scala,隐式转换)
    Scala 封装可break和continue的foreach循环
    记录: 百度webuploader 分片文件上传java服务器端(spring mvc)示例的优化
    HBase shell 中的十六进制数值表示
    关于getSystemResource, getResource 的总结
  • 原文地址:https://www.cnblogs.com/yshyee/p/4000232.html
Copyright © 2020-2023  润新知