专栏首页JAVA乐园Linux远程拷贝命令scp

Linux远程拷贝命令scp

阅读文本大概需要5分钟。

在开发中经常遇到这样的场景,就是两台Linux服务器间需要互相拷贝文件。常见的场景就是在本机通过堡垒机才能登录到远程的Linux服务器上,而堡垒机上没有相应的ftp可视化工具;这时就需要借助远程拷贝命令。

scp就是secure copy,在linux下用来进行远程拷贝文件的命令。有时需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的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

参数:

  • -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)的选项。

0x01:将本机文件复制到远程服务器上

#scp /home/oracle/news.txt root@192.168.6.129:/tmp

分析:

/home/oracle/ :本地文件的绝对路径

news.txt :要复制到服务器上的本地文件

root:通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

192.168.6.129:远程服务器的ip地址(也可以使用域名或机器名)

/tmp:将本地文件复制到位于远程服务器上的路径

0x02: 将远程服务器上的文件复制到本机

#scp remote@www.itpk.com:/usr/local/sin.sh /home/oracle

remote:通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

www.itpk.com:远程服务器的域名(当然也可以使用该服务器ip地址)

/usr/local/sin.sh:欲复制到本机的位于远程服务器上的文件

/home/oracle:将远程文件复制到本地的绝对路径

0x03:需要注意两点

  • 如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.itok.com:/usr/local/sin.sh /home/oracle
  • 使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

本文分享自微信公众号 - JAVA乐园(happyhuangjinjin88),作者:java乐园

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis主从复制原理总结

    和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结...

    java乐园
  • Nginx系列:负载均衡

    Nginx的负载均衡使用upstream定义服务器组,后面跟着组名,组名后面是大括号包起来的服务器列表,每个服务器使用server开头,后面跟定义的...

    java乐园
  • Elasticsearch多文档操作

    Elasticsearch除了可以文档Index操作外,也提供了一次可以操作多个文档Index的API,上一篇已经把单文档的说了,从今天起说一说多文档Index...

    java乐园
  • GandCrab V5.2勒索病毒针对我国有关部门,要求通过Tor浏览器支付赎金

    2019年3月13日,宜昌市夷陵区人民政府官网发布公告《关于防范勒索病毒 GANDCRAB 攻击 的预警通报》称,近期有境外黑客组织对我国有关部门发起了勒索病毒...

    FB客服
  • Kafka消费者 之 如何提交消息的偏移量

    由于消费者模块的知识涉及太多,所以决定先按模块来整理知识,最后再进行知识模块汇总。

    create17
  • socket03-Socket 客户端

    潇洒
  • 如何部署 NTP 服务器

    NTP 全称为 Network Time Protocol ,中文翻译为网络时间协议,1985年就已经被提出,旨在缩短互联网上所有计算机设备与 UTC 的时间差...

    Mr.Crypto
  • 为公益伸出援手,自建 NTP 服务器池

    在本教程中,讲述如何设置了自己的时间服务器,并使其成为NTP池项目的成员,为社区服务,现在国内NTP服务器数量还是不够乐观,还是那句话,如果你有位于国内的、长期...

    吴凌云
  • node.js学习笔记01-cmd0node0全局数据0异步事件

    node命令: node -v (Node版本号) node 文件名(运行当前文件) node ./文件名/文件名(运行当前文件夹的xxx文件夹下的xxx...

    Mr. 柳上原
  • Linux 基础

    稳定性:取决于系统的底层架构,一般情况下 Linux 系统能做到很长时间不关机一点也不卡顿;

    jinghong

扫码关注云+社区

领取腾讯云代金券