ssh与rsync应用

一:ssh

ssh的三个组件

①、ssh远程登录pietty、putty、secureCRT

②、sftp文件共享(类FTP)SSH Seccure File Transfer Client

③、scp文件共享(类CP)

ssh:

默认禁止空密码用户登录

[[email protected] ~]# ssh [email protected]
[email protected]‘s password:
Last login: Thu Jul 16 09:56:24 2015 from 172.16.11.235
[[email protected] ~]$ exit
logout
Connection to 172.16.11.235 closed.
[[email protected] ~]# ssh -2 [email protected]
[email protected]‘s password:
Last login: Thu Jul 16 09:57:08 2015 from 172.16.11.235
[[email protected] ~]$ exit
logout
Connection to 172.16.11.235 closed.
[[email protected] ~]#
[[email protected] ~]# 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
[[email protected] ~]#

-2 ssh2 安全性更高,

配置文件:/etc/ssh/sshd_config

#PermitRootLogin yes 默认允许root远程登录

[[email protected] ~]# ssh -2 -p 10022 [email protected] #小写的p
[email protected]‘s password:
Last login: Thu Jul 16 09:57:23 2015 from 172.16.11.235
[[email protected] ~]$ exit
logout
Connection to 172.16.11.235 closed.

②、sftp

[[email protected] ~]# sftp 172.16.11.235 #不写就默认以当前的用户名登录

Connecting to 172.16.11.235...
[email protected]‘s password:
sftp>                                  #和FTP的操作命令完全一样
[[email protected] ~]# sftp [email protected]
Connecting to 172.16.11.235...
[email protected]‘s password:
sftp>

③、scp:

本机拷贝文件到远程主机:

 scp本地文件 用户名@远程主机地址:远程主机目标目录

 scp -r 本地目录 用户名@远程主机地址:远程主机目标目录

例:

[[email protected] ~]# scp /etc/inittab [email protected]:/mnt
[email protected]‘s password:
inittab                                     100%  884     0.9KB/s   00:00
[[email protected] ~]#

从远程主机拷贝文件到本地:

scp 用户名@远程主机地址:远程文件 本地目录

scp -r 用户名@远程主机地址:远程目录 本地目录

[[email protected] ~]# scp -r [email protected]:/mnt ~
[email protected]‘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
[[email protected] ~]# 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
[[email protected] ~]# ls ./mnt
inittab  website  xxj1
[[email protected] ~]#

常用选项:-p 保持原有文件属性 #建议备份时一定要加上,保持时间不变

-r 复制目录

-P 指定端口号

例:要备份服务器172.16.11.202上的/website到172.16.11.235

每周日做一次完全备份,周一到周六做每天做一次增量备份

1、crontab -e 
   0 2 * * 0 /usr/bin/scp -rp [email protected]:/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 [email protected]:/website /backup

-a 保持文件属性

-r 子目录递归处理

-H 保持文件硬链接

-z 备份文件传输时压缩处理

--progress 在传输时显示传输过程

--delete 删除目标备份没有的文件

-e ssh 使用SSH加密隧道传输

时间: 2024-10-16 08:09:55

ssh与rsync应用的相关文章

Linux课程笔记 Day07 课上内容总结 SSH和rsync

一. SSH 1.1    SSH介绍 SSH是Secure Shell Protocol的简称.在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输.确保了传递的数据安全.SSH是专为远程登录会话和其他网络问题提供安全性的协议. 在默认状态下,SSH协议提供两个服务功能:一个是提供类似telnet远程链接服务器的服务,即上面提到的SSH服务:另一个是类似FTP服务的stp-server,借助SSH协议来传输数据,提供更安全的FTP服务. 特别提醒:SSH客户端

无密码通过ssh执行rsync

默认情况下,在执行rsync命令时通常需要我们输入密码.但有时我们并不希望如此,那么如何实现无密码执行rsync呢? 1. 测试通过ssh可以执行rsync(需要密码) 执行rsync,确保你帐户的密码在远程服务器上可以使用,并能够将文件复制到远程服务器. 例:将本地目录 /home/linuxprobe同步到远程目录/back/linuxprobe(服务器地址:192.168.200.10) ,执行此操作时,服务器会要求你输入密码 rsync -avz -e ssh /home/linuxpr

rsync参数详解、利用ssh、rsync 实现数据的定时同步

rsync 简介 rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文 件.也可以使用 rsync 同步本??硬盘中的不同目录. rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件 的不同部分,而不是每次都整份传送,因此速度相当快.您可以参考 How Rsync Works A PracticalOverview 进一步了解 rsync 的运作机制. rsy

无需密码通过ssh执行rsync来同步文件

1.通过ssh执行rsync(需要密码) 通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器.下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10).执行以下操作时,服务器将会提示需要用户使用密码登录. rsync -avz -e ssh /home/ramesh/ [email protected]:/backup/ramesh/ 2.使用ssh-keygen生成密匙 现在我们来设置ssh,以便在执行s

关于基于ssh的rsync传送文件,目标不为默认端口的操作

# ssh-keygen -t dsa -N '' #ssh-copy-id -i /root/.ssh/id_rsa.pub '-p DstPort [email protected]' #/usr/bin/rsync -avz --progress -e 'ssh -p DstPort' SRC [email protected]:DST

rsync、ssh备份

Linux系统需求 为了实现这个备份程序,需要准备一个外部驱动器.您可以将备份写到一个外部USB磁盘,但这样做效率不高.因此,我假设您将备份写到位于网络某处的服务器中.这台服务器要为带有SSH和rsync的一台Linux服务器(任何Linux发行版都可以). 除了一个备份介质,您还需要rsync.这个多用途的同步工具是所有Linux发行版上的一个默认组件.正如其名称所示,它会帮助您进行文件的远程同步.但是,它不执行增量或者差异备份.为了防止本地硬件驱动器崩溃,而想将数据存到别处时,这个工具就可以

rsync+SSH同步,rsync+rsync同步

1.RSYNC:远程同步,支持本地复制,或与其他SSH.rsync主机同步. rsync远程同步和cp.scp功能基本一致,不同的是其他两个是对源文件进行复制,如果有新加入的数据,使用cp.scp把源文件所有的内容在进行复制,而rsync是在源文件的基础上只更新新变化的数据. 2.同步与复制的差异: 复制:完全拷贝源到目标. 同步:增量拷贝,只传输变化过的数据. 3.rsync 同步的基本操作 使用格式:rsync  源文档  目标文档 rsync常用选项-a:归档模式,相当于-rlptgoD-

10.28 rsync工具介绍 - 10.29/10.30 rsync常用选项 - 10.31 rsync通过ssh同步

- 10.28 rsync工具介绍 - 10.29/10.30 rsync常用选项 - 10.31 rsync通过ssh同步 # 10.28 rsync工具介绍 -/A目录 --> /B目录(A目录更新了一个文件,每次更新都需要把A目录拷贝到B目录),如果用cp命令 比较浪费时间,耗费磁盘空间,磁盘压力 读写之类的, -使用rsync -av /etc/passwd /tmp/1.txt -a选项就是包含了好几个选项  ,v 是可视化,可以看到拷贝的过程 ``` [[email protecte

FreeBSD系统下rsync + SSH增量备份文件——自己制作

rsync + SSH增量备份文件--自己制作 --简体--推荐OK http://troy.jdmz.net/rsync/index.html 研究了这篇文章,里面写得满详细的:我的这篇文章只是把我实际操作的过程记录下来而已.内容有误或是您有更好的方案,欢迎您在下方的 comments 中给我建议 :) 有两台机器,姑且一台叫服务器,一台叫备份机.要怎么样才能每天或是定期地,把服务器的数据整个复制到备份机呢?这里就要用到 rsync (详: 维基百科) 的强大功能了. rsync 在每次传输的