Linux入门:常用命令:ssh、scp、自动化远程备份
自动化,备份,linux2016-11-16
1、ssh远程连接工具
2、sftp远程文件传输(类似是ftp的加密方式)
3、scp远程文件传输(类似cp功能)
/etc/ssh/sshd_config
PermitRootLogin yes/no #禁止或允许root登录
Port 22 #修改端口号
#远程用户名密码
#远程目录写权限
#本地文件copy到远程主机
scp 本地文件 用户名@远程主机地址:远程主机目标目录
scp -r 本地目录 用户名@远程主机地址:远程主机目标目录
#远程文件copy到本地目录
scp 用户名@远程主机地址:远程主机目标目录 本地文件
scp -r 用户名@远程主机地址:远程主机目标目录 本地目录
有三个重要的参数:
-p:保持原有文件属性
-r:复制目录
-P:指定端口号
1、完全备份
crontab -e
/usr/bin/scp -rp root@192.168.1.1:/test /backup/test_$(date + %F)
#需要创建信任主机连接,否则会有登录密码过程,所有自动化过程会中断(信任主机见下文中的“附”)
2、增量备份(同增同减)
sync #可以将内存中的信息同步到硬盘上(只可以本机)
rsync #远程
#可以完整保存目录结构,和属性
/etc/xinetd.d/rxync #配置文件
disable = no/yes #no为开启
service xinetd restart #启动
rsync -arHz --progress --delete test@192.168.1.1:/test /backup
#--progress显示过程,-a是所有属性,-r是递归,-H硬链接要加,-z进行压缩,
1、速度快
2、不安全(加密和解密的密钥一样,密钥需要交换)
1、速度慢
2、安全(加密和解密的密钥不一样,不需要交换)
应用场景:
1、用公钥加密,用私钥解密——文件加密
2、用私钥加密,用公钥解密——数字签名
使用数字签名,建立信任主机
1、信任主机生成公钥,发送给目标机器
2、之后信任主机连接目标主机时,目标主机用来验证信任主机的真伪性(github就用的是这个方式)
被信任主机
#ssh信任主机建立
#使用用户(root)身份创建密钥对,之后就可以使用该用户向目标机器建立信任连接
ssh-keygen -t rsa
#生成id_rsa.pub
认证主机
#id_rsa.pub拷贝到哪个用户的宿主目录下的.ssh目录下,信任主机连接哪个用户时就不需要密码
~/.ssh/authorized_keys
#有可能需要修改权限