码迷,mamicode.com
首页 > 其他好文 > 详细

ssh与rsync应用

时间:2015-07-16 22:31:55      阅读:182      评论:0      收藏:0      [点我收藏+]

标签: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与rsync应用

标签:ssh sftp scp rsync 简单的远程备份 信任关系

原文地址:http://xiexiaojun.blog.51cto.com/2305291/1675398

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!