标签:ssh sftp scp rsync 简单的远程备份 信任关系
一:ssh
ssh的三个组件
①、ssh远程登录pietty、putty、secureCRT
②、sftp文件共享(类FTP)SSH Seccure File Transfer Client
③、scp文件共享(类CP)
ssh:
默认禁止空密码用户登录
[root@localhost ~]# ssh xxj@172.16.11.235 xxj@172.16.11.235‘s password: Last login: Thu Jul 16 09:56:24 2015 from 172.16.11.235 [xxj@localhost ~]$ exit logout Connection to 172.16.11.235 closed. [root@localhost ~]# ssh -2 xxj@172.16.11.235 xxj@172.16.11.235‘s password: Last login: Thu Jul 16 09:57:08 2015 from 172.16.11.235 [xxj@localhost ~]$ exit logout Connection to 172.16.11.235 closed. [root@localhost ~]# [root@localhost ~]# rpm -qa | grep ssh openssh-clients-5.3p1-94.el6.x86_64 libssh2-1.4.2-1.el6.x86_64 openssh-5.3p1-94.el6.x86_64 openssh-server-5.3p1-94.el6.x86_64 [root@localhost ~]#
-2 ssh2 安全性更高,
配置文件:/etc/ssh/sshd_config
#PermitRootLogin yes 默认允许root远程登录
[root@localhost ~]# ssh -2 -p 10022 xxj@172.16.11.235 #小写的p xxj@172.16.11.235‘s password: Last login: Thu Jul 16 09:57:23 2015 from 172.16.11.235 [xxj@localhost ~]$ exit logout Connection to 172.16.11.235 closed.
②、sftp
[root@localhost ~]# sftp 172.16.11.235 #不写就默认以当前的用户名登录 Connecting to 172.16.11.235... root@172.16.11.235‘s password: sftp> #和FTP的操作命令完全一样 [root@localhost ~]# sftp xxj@172.16.11.235 Connecting to 172.16.11.235... xxj@172.16.11.235‘s password: sftp>
③、scp:
本机拷贝文件到远程主机:
scp本地文件 用户名@远程主机地址:远程主机目标目录
scp -r 本地目录 用户名@远程主机地址:远程主机目标目录
例:
[root@localhost ~]# scp /etc/inittab root@172.16.11.202:/mnt root@172.16.11.202‘s password: inittab 100% 884 0.9KB/s 00:00 [root@localhost ~]#
从远程主机拷贝文件到本地:
scp 用户名@远程主机地址:远程文件 本地目录
scp -r 用户名@远程主机地址:远程目录 本地目录
[root@localhost ~]# scp -r root@172.16.11.202:/mnt ~ root@172.16.11.202‘s password: 222 100% 0 0.0KB/s 00:00 xxj1 100% 133KB 132.6KB/s 00:00 inittab 100% 884 0.9KB/s 00:00 [root@localhost ~]# ls 111 install.log.syslog testfile1 新文件 222 mnt testfile10 值班表.xls anaconda-ks.cfg test1 xxj1 auto.ftp test10 zhcon-0.2.3-1.i386.rpm install.log testfile 新建文本文档 (2).txt [root@localhost ~]# ls ./mnt inittab website xxj1 [root@localhost ~]#
常用选项:-p 保持原有文件属性 #建议备份时一定要加上,保持时间不变
-r 复制目录
-P 指定端口号
例:要备份服务器172.16.11.202上的/website到172.16.11.235
每周日做一次完全备份,周一到周六做每天做一次增量备份
1、crontab -e 0 2 * * 0 /usr/bin/scp -rp root@172.16.11.235:/website111 /back/website111_$(date+%F)
但是这里有一个问题,这里要输入root的密码,不能自动化执行,有交互过程,
解决这个问题就要把这2台主机建立信任关系
先介绍一点密码相关的知识:
对称密钥加密:加密与解密使用同一密钥
优势:速度块
劣势:密钥本身需要交换
非对称密钥加密:也称公开密钥加密,使用时生成两个密钥,一个公开存放,为公钥:一个私人持 有,为私密。用户其中的一个密钥加密的数据只有另一个密钥才能解密
优势:安全性好
缺点:速度慢
所以加密信息时,通常都是对称密钥加密与非对称密钥结合使用。
用公钥加密,私密解密 --加密文件
用私钥加密,用公钥解密 --数字签名
建立信任主机:
主机一(本机) 主机二(远程主机)
建立密钥对 获得主机一公钥,并生存认证密钥:
#ssh-keygen -t rsa #cat id_rsa.pub >> .ssh/authorized_keys
生成公钥 id_res.pub #chmod 600 .ssh/authorized_keys
#chmod 700 .ssh
此时从主机一访问主机二将不再需要输入密码
二、rsync应用
方便的增量备份实现
可镜像保存整个目录树和文件系统
保持文件的权限、时间、软硬链接等
文件传输效率高
可以使用SSH加密通道
2 crontab -e 0 2 * * 1-6 /usr/bin/rsync -arHz --delete root@172.16.11.235:/website /backup
-a 保持文件属性
-r 子目录递归处理
-H 保持文件硬链接
-z 备份文件传输时压缩处理
--progress 在传输时显示传输过程
--delete 删除目标备份没有的文件
-e ssh 使用SSH加密隧道传输
本文出自 “xiexiaojun” 博客,请务必保留此出处http://xiexiaojun.blog.51cto.com/2305291/1675398
标签:ssh sftp scp rsync 简单的远程备份 信任关系
原文地址:http://xiexiaojun.blog.51cto.com/2305291/1675398