SSH版本:openssh
如果系统没有scp命令,yum install openssh-clients.x86_64 -y
配置文件:/etc/ssh/sshd_config
PermitRootLogin yes #限制root用户登录
Port 22 #端口号
修改后要重启sshd服务:service sshd restart
SSH包含三个模块:ssh sftp scp
1.ssh
ssh user@ip
-2 :强制使用SSH2协议登录,安全性更高
-p port :指定端口
例如:ssh -2 -p 2188 wap@192.168.33.65
1.禁止空密码用户登录
2.root登录禁止(CentOS允许)
2.sftp
sftp user@ip
命令类似于ftp,但是一般很少使用这个命令
3.scp
1)本地文件拷贝到远程主机
scp file user@ip:/path
2)远程主机拷贝到本地
scp user@ip:/path file
3)常用选项
-p:保持原有文件属性
-P:指定端口号
-r:复制目录
示例:
scp -P 2188 -rp /usr/local/dir wap@192.168.247.130:/usr/local
scp -P 2188 -rp wap@192.168.247.132:/home/hanqunfeng/test /usr/local
建立信任主机:
A:
建立密钥对:ssh-keygen -t rsa #在~/.ssh下会生成公钥(id_rsa.pub)和私钥(id_rsa)
拷贝公钥到B上:scp ~/.ssh/id_rsa.pub wap@192.168.247.132:/home/wap
B:以wap登录
查看/home/wap目录下是否存在.ssh目录,不存在则创建
cd ~
ll -d .ssh #不存在 mkdir .ssh
cat id_rsa.pub >>.ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chmod 700 .ssh
测试:
ssh -p 22 wap@192.168.247.132 #exit退出ssh
此时A访问B就不需要密码了。B访问A,按上面的方法反过来配置一遍即可。
rsync----增量备份工具
sync:将内存中的数据同步到硬盘上
特点:
方便增量备份
可镜像保存整个目录树和文件系统
保持文件的权限、时间、软硬链接
传输效率高
可以使用SSH加密通道
查看是否安装了rsync:
rpm -qa| grep rsync
如果没有安装,则先安装:
yum install rsync -y 【两台机器都需要安装,但以下配置不需要接收文件的服务器安装】
chkconfig rsync on
touch /etc/rsyncd.conf
vi /etc/rsyncd.conf
加入如下内容:
log file = /var/log/rsyncd.log
[local0]
path = /root/backup-A
comment = backup from server-A
hosts allow = 192.168.36.41 192.168.36.49 127.0.0.1
read only = false
uid = 0 #执行的用户UID
gid = 0
启用rsync:
vi /etc/xinetd.d/rsync
disable = yes ====> disable = no #保存退出
重启xinetd:
service xinetd restart
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
如果没有安装xinetd,需要先安装:
yum install xinetd -y
chkconfig xinetd on
使用示例:
1.将远程目录备份到本地
rsync -arHz --progress --delete wap@192.168.247.132:~/test ./tem
--progress : 显示执行过程
2.将本地目录备份到远程服务器
rsync -arHz --progress --delete ./tem wap@192.168.247.132:~/test
注:默认端口是22,如果端口变化可以采用如下写法:
rsync -e 'ssh -p 2188' -arHz --progress --delete ./tem wap@192.168.247.132:~/test
说明:当目录中的内容发生变化,当再次执行备份命令时会将发生变化的部分备份过来,从而实现了增量备份。
属性说明:
-a : 保存文件属性
-r : 子目录递归处理
-H : 保存文件硬连接
-z : 备份文件传输时压缩处理
--progress : 在传输时显示传输过程
--delete : 删除目标备份没有的文件,同步删除
-e ssh : 使用SSH加密隧道传输 (推荐)
比如:rsync -arHz --progress --delete -e ssh ./tem wap@192.168.247.132:~/test