博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scp服务
阅读量:7219 次
发布时间:2019-06-29

本文共 3642 字,大约阅读时间需要 12 分钟。

scp.pptx

scp原理:特点先统计信息,看对方有没有足够的空间存储,如果太多的话,效率非常的低

rsync :边复制  边比较  边统计

800kb=100KB

8比特=1字节

1024KB=1M

scp传送的是比特

-l 代表的是limit (限制的意思)             Limits the used bandwidth, specified in Kbit/s.

-P (这里是大写的P)  指定sshd的传输的端口(默认的sshd的端口是22端口)

spacer.gif

1.两台服务器之间的进行scp备份的时候要确保都安装了openssh-clients软件(rpm查询方法)

[ ~]# rpm -qa |grep openssh-clients

openssh-clients-5.3p1-111.el6.x86_64

[ ~]# 

[ ~]# rpm -qa openssh-clients

openssh-clients-5.3p1-111.el6.x86_64

[ ~]# 

2.scp传送数据(这是推送的方式从一台服务器推送到另一台服务器)

本机Ip192.168.33.10 所要吧数据推送的主机的ip192.168.33.11

192.168.33.10  服务器上的命令

[ ~]# scp install.log :/tmp

's password: 

install.log                                      100%   22KB  21.7KB/s   00:00    

[ ~]# 

192.168.33.11  服务器上进行查看(ok)

[ ~]# cd /tmp

[ tmp]# ls

install.log

[ tmp]# 

3.scp传送数据(拉取的方式,从一台服务器吧数据拉回本地)

192.168.33.11  把数据从192.168.33.10  拉回来

192.168.33.11上的操作(中间的时候恢复一个yes和要输入用户的密码):

[ tmp]# scp :/root/install.log.syslog  /tmp

查看拉取成功

[ tmp]# ls

install.log.syslog

[ tmp]# 

4.推送目录(吧192.168.33.10 上的/etc 目录推送到  192.168.33.11  /tmp  目录下)

192.168.33.10 下的代码

[ ~]# scp -r /etc/ :/tmp/

192.168.33.11  中进行查看(可以看出etc目录已经被复制)

[ ~]# cd  /tmp

[ tmp]# ls

etc  install.log.syslog

[ tmp]# 

5.限制文件的传输大小

①生成一个500M的文件

[ ~]# dd  if=/dev/zero  of=./bigfile bs=500M count=1

[ ~]# du -h bigfile 

500M    bigfile

[ ~]# 

②传输也就是推送

192.168.33.10 服务器(可以看出800是代表的比特所以每秒大约有102.4KB/s)

[ ~]# scp -l 800 bigfile :/tmp

's password: 

bigfile                                            1% 7568KB  99.0KB/s 1:24:56 ETA^

6.修改端口进行指定端口推送

①修改192.168.33.11 的sshd的端口默认是22修改成22191  编辑文件中 

Port 22191

[ ~]# vim   /etc/ssh/sshd_config

把# Port 22  修改成Port 22191  (默认有注释,修改后要把注释去掉保存,然后重启服务)

[ ~]# /etc/init.d/sshd  restart

Stopping sshd:                                             [  OK  ]

Starting sshd:                                             [  OK  ]

[ ~]# 

查看确认

[ ~]# netstat -lntup |grep 22

tcp        0      0 0.0.0.0:22191               0.0.0.0:*                   LISTEN      4236/sshd           

tcp        0      0 :::22191                    :::*                        LISTEN      4236/sshd           

[ ~]# 

②在192.168.33.10 进行传送数据(传输完成)

[ ~]# scp -P 22191 bigfile :/tmp

's password: 

bigfile                                          100%  500MB   8.8MB/s   00:57    

[ ~]# 

吧端口修改回来不然咱们用crt登录的时候就得用22191端口了。修改回来

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

scp无密码的传输

①在192.168.33.10 上生成秘钥(执行命令按回车)

[ ~]# ssh-keygen -t rsa

[ ~]# 

②查看秘钥

[ ~]# cd  /root/.ssh/

[ .ssh]# ls

id_rsa  id_rsa.pub  known_hosts

[ .ssh]# 

③对秘钥id_rsa.pub进行改名,赋予新的权限

 [ .ssh]# mv id_rsa.pub auth_key

[ .ssh]# chmod 600 auth_key 

[ .ssh]# 

[ .ssh]# ls

auth_key  id_rsa  known_hosts

[ .ssh]#  

注: auth_key是公钥   id_rsa 是私钥

④把私钥拷贝到另一台服务器上(192.168.33.11)

192.168.33.10 操作

[ .ssh]# scp id_rsa :/root/.ssh/

's password: 

id_rsa                                           100% 1675     1.6KB/s   00:00    

[ .ssh]# 

到192.168.33.11上查看(ok)

[ ~]# cd .ssh

[ .ssh]# ls

id_rsa  known_hosts

[ .ssh]# 

⑤可以进行无密码传输了

私钥的可以传输公钥的不需要密码,但是公钥的服务器传输到私钥上确实需要密码,在本机生成的秘钥和私钥只要有一个有就行,如果两台机器都可以互相无密码传输的话,那么每台机器都生成一个密码要私钥

拥有私钥的机器可以访问拥有公钥的机器

产生公私钥

假设有两台linux服务器A和B,当A连接B时不需要输入密码,实现方法是在A vps上使用ssh-keygen命令生成一对公私钥,具体操作如下:

 A 服务器操作:

运行:ssh-keygen -t rsa 三次回车生成公钥id_rsa.pub和私匙id_rsa,默认存放在/root/.ssh/目录下在 B 服务器上操作:把A公钥id_rsa.pub 复制上传到 B 服务器/root/.ssh/目录下ps:没有.ssh目录可放在其它目录或创建一个:mkdir .ssh再创建一个:touch /root/.ssh/authorized_keyschmod 700 /root/.ssh继续在 B 服务器上操作:运行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 /root/.ssh/authorized_keys设置好后重启下sshCentOS 重启SSH : service sshd restartDebian重启SSH:service ssh restart在A服务器上centos执行: ssh root@B服务器的IP -P端口debian执行:ssh -l root B服务器的IP -p 22看看是否可以不同密码直接密匙登陆了。退出命令:exit

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

scp实战技巧

在crontab中写定时任务  传送备份数据

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

linux 本地文件上传到服务器

scp /home/liujia/file.1txt  liujia@172.16.252.32:/user/liujia

从服务器下载文件

scp liujia@172.16.252.32:/user/liujia/file1.txt /home/liujia

命令

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1765493,如需转载请自行联系原作者
你可能感兴趣的文章
HTML基础知识点
查看>>
如何管理Isolated Storage中的数据 - [Windows Phone开发]
查看>>
洛谷P3385 【模板】负环 DFS-SPFA 判负环 图论
查看>>
K:求取数组中最大连续子序列和的四个算法
查看>>
URL重写 response.encodeURL 详解
查看>>
Java中锁的分类
查看>>
dwr框架中DWRUtil的方法
查看>>
lacp学习笔记
查看>>
Oracle 后台进程(二)DBWR进程
查看>>
Linux - 主机的细部权限规划:ACL 的使用
查看>>
XML DOM学习笔记(JS)
查看>>
你是远程控吗?
查看>>
浅谈SDN与云网络
查看>>
编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用
查看>>
Python和Node.js支持尾递归吗?
查看>>
Live Messenger界面消失问题
查看>>
基础篇—SQL语句相关概念及练习
查看>>
用static定义静态全局变量
查看>>
BigPipe,加速你的页面加载
查看>>
让WCF客户端的“调用”成为一种“享受”
查看>>