SCP命令

6 篇文章 1 订阅

1、命令介绍:

        scp 可以在 2个 linux 主机间复制文件、目录;

命令基本格式:
            scp [可选参数] file_source  file_target    

2、【从本地复制到远程】

 2.1、复制文件:

       命令格式:

  1.  scp local_file remote_username@remote_ip:remote_folder
  2.  scp local_file remote_username@remote_ip:remote_file
  3.  scp local_file remote_ip:remote_folder
  4.  scp local_file remote_ip:remote_file

说明:

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

      例子:

   scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music

   scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3

   scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music

   scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

  2.2、复制目录:

命令格式:

  1. scp -r local_folder remote_username@remote_ip:remote_folder
  2. scp -r local_folder remote_ip:remote_folder

说明:

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

  例子: 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录

      scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/

      scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

2.3、举例说明:

 scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

  • /home/administrator/news.txt  :要复制到服务器上的本地文件绝对路径。
  • root :通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)。
  • 192.168.6.129 :远程服务器的ip地址(也可以使用域名或机器名)。
  • /etc/squid 将本地文件复制到位于远程服务器上的路径。 

3、【从远程复制到本地】

从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

   例如:
            scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3

            scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

3.1、举例说明:

scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

  • remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
  • www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)
  • /usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件
  • /home/administrator 将远程文件复制到本地的绝对路径

        注意两点:

        1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

         scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

        2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。              

4、最简单的应用如下 :

 scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2

说明:

[ 本地用户名 @IP 地址 :] 可以不输入 , 执行后需要输入远程用户名和密码 .

  可能有用的几个参数 :

            -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

            -C 使能压缩选项 .

            -P 选择端口 . 注意 -p 已经被 rcp 使用 .

            -4 强行使用 IPV4 地址 .

            -6 强行使用 IPV6 地址 .

 5、【关于scp的安全方面】

copy 本地的档案到远程的机器上

#  会将本地的 /etc/lilo.conf 这个档案 copy 到 net67.ee.oit.edu.tw(主机名),使用者 k 的目录下。
scp /etc/lilo.conf k@net67.ee.oit.edu.tw:/home/k

copy远程机器上的档案到本地来

# 将 net67.ee.oitdu.tw 中 /etc/lilo.conf 档案 copy 到本地的 /etc 目录下。
scp k@net67.ee.oit.edu.tw:/etc/lilo.conf /etc     

保持从来源 host 档案的属性

scp –p k@net67.ee.tw:/etc/lilo.conf /etc

 如果想使用特定端口 使用 scp –p(大写)。     

 scp –p 1234 k@net67.ee.tw:/etc/lilo.conf /etc

        在此必须注意使用者的权限是否可读取远程上的档案,若想知道更多关于 scp 的使用方法,可去看看 scp 的使用手册。
        ssh-keygen
        产生公开钥 (pulib key) 和私人钥 (private key),以保障 ssh 联机的安性, 当 ssh 连 shd 服务器,会交换公开钥,系统会检查 /etc/ssh_know_hosts 内储存的 key,如果找到客户端就用这个 key 产生一个随机产生的session key 传给服务器,两端都用这个 key 来继续完成 ssh 剩下来的阶段。

        它会产生 identity.pub、identity 两个档案,私人钥存放于identity,公开钥 存放于 identity.pub 中,接下来使用 scp 将 identity.pub copy 到远程机器的家目录下.ssh下的authorized_keys。 .ssh/authorized_keys(这个 authorized_keys 档案相当于协议的 rhosts 档案), 之后使用者能够不用密码去登入。RSA的认证绝对是比 rhosts 认证更来的安全可靠。
        执行:
        scp identity.pub k@linux1.ee.oit.edu.tw:.ssh/authorized_keys

        若在使用 ssh-keygen 产生钥匙对时没有输入密码,则如上所示不需输入密码即可从 net67.ee.oit.edu.tw 去登入 linux1.ee.oit.edu.tw。在此,这里输入的密码可以跟帐号的密码不同,也可以不输入密码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值