(转)使用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命令的使用方法
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操作系统之间传递文件的更多相关文章
- 采用scp命令在Linux系统之间copy文件
不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy.第二种方法就是采用 ...
- 在linux服务器之间复制文件和目录命令scp
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- linux的scp命令可以在linux服务器之间复制文件和目录
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- Linux命令(20)linux服务器之间复制文件和目录
linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上 ...
- Linux和Windows之间传递文件
由于自己的计算机的性能不足,代码只能在服务器上运行,要把代码搬到服务器上运行在没有root权限的情况下,本身就是一件不太容易的事情,我准备下次再写一下这方面的技巧.这篇博客,我只说比较一下几种在不同操 ...
- 使用WinSCP在Windows和Linux系统之间传输文件
小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...
- scp命令详解—跨服务器复制文件
scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入. 在服务器104.238.161.75上操作,将服务器 ...
- linux服务器之间传输文件的四种方式
linux文件传输在内网渗透中至关重要,所以我在此总结一下几种Linux服务器之间传输文件的四种方式 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法]scp就是se ...
- Linux与linux之间传递文件、
1.从linux本机文件上传到另一台linux格式:scp 要传的文件 root@目标ip:路径scp –r 要传的目录 root@目标ip:路径 例子: scp /root/1.txt roo ...
随机推荐
- 转载:常见EXE文件反编译工具
PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 功能极为强大的可视化汉化集成工具,可直接浏览.修改软件资源,包括菜单.对话框.字符串表等: 另外,还具备有 W32D ...
- hihoCoder 1116 计算 (线段树)
题意 : 描述 现在有一个有n个元素的数组a1, a2, ..., an. 记f(i, j) = ai * ai+1 * ... * aj. 初始时,a1 = a2 = ... = an = 0,每次 ...
- TextView总结
先看看TextView的类继承结构: java.lang.Object ↳ android.view.View ↳ android.widget.TextView 是直接继承View类的,可扩展性很强 ...
- xmind教程
xmind是什么东西我不多说.作为一个程序员,我通常用来编写一个文档.比如某个模块的设计或者流程图. 一开始我是以word画图的方式来用xmind的,即想要什么图形,就去插入里面找.结果碰了一鼻子灰, ...
- IOS 判断设备类型
- (NSString*)deviceString { // 需要#import "sys/utsname.h" struct utsname systemInfo; uname( ...
- 在WebBrowser中执行javascript脚本的几种方法整理(execScript/InvokeScript/NavigateScript) 附完整源码
[实例简介] 涵盖了几种常用的 webBrowser执行javascript的方法,详见示例截图以及代码 [实例截图] [核心代码] execScript方式: 1 2 3 4 5 6 7 8 9 1 ...
- Hacker(八)----NET命令
NET命令是一种基于网络的命令,该命令的功能很强大,可以管理网络环境.服务.用户和登录等本地及远程信息.常见的NET命令主要有net view.net user.net use.net time.ne ...
- android——混淆打包
网上搜了一大堆,在此不一一赘诉. 直接讲解了 如上图这么配置,其实就是加上一句话而已.告诉打包工具混淆打包的代码放在./proguard-project.txt这里 proguard.config=. ...
- Git入门——基础知识问答
问题一:为什么要选择Git作为Android开发的版本控制工具? 答:1)git是android项目和社区的统一语言. 2)高通版本发布频繁,需要与平台及时同步,快速re ...
- Struts2体系结构图以及详解
Strut2的体系结构如图所示: 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求: 2.这个请求经过一系列的过滤器(F ...