会哭的雨 2019-12-23
实时同步: 实时同步实现原理: rsync --delete 实时同步场景: 1.NFS单点故障 (不建议) --> Glusterfs FastDfs OSS 2.迁移 ( 静态资源 ) 应用场景例如CDN镜像、 网站数据备份、 网站搬家等等。 sersync怎么用? 二进制,解压即用 lsyncd https://www.cnblogs.com/jiangzhaowei/p/8298416.html 用户-->上传视频--->web--->存储NFS--->变化--->同步--->备份服务器
ssh是一个应用层安全协议
实现远程登录, 数据传输过程中进行加密. 钉钉(澡堂模式) 远程登录: SSH Telnet
SSH 加密 22 root直接登录 Telnet 明文 23 不支持root直接登录
#Wireshark [ ~]# yum install telnet-server -y [ ~]# systemctl start telnet.socket [ ~]$ echo oollddbbooyy |sed -r 's#(.)(.)#\1#g' oldboy #PS: 服务器都是使用的SSH协议实现的远程登录 对于路由器 交换机 都是走的telnet协议 ( WEB界面调试 )
#1.ssh ( Windows Xshell Crt ) ( Mac ssh命令 Crt ) [ ~]# ssh 's password: #2.scp: rsync增量 scp 全量(每次都是覆盖) ssh协议 拷贝目录 需要 -r参数 推送 [ ~]# scp ./web-file :/tmp #获取 [ ~]# scp :/tmp/web-file ./test #限速 ( kb 1024 * 8 = 实际的传输速率 ) [ ~]# scp -l 8192 ./1.txt 172.16.1.41:/tmp 's password: 1.txt 14% 74MB 1.0MB/s 07:09 #3.sftp 文件传输协议? 为什么不适用命名的方式? 为什么使用xftp? 1.简单,带图形,支持断点续传,支持暂停
#1.基于用户和密码的方式 1.密码太复杂容易忘 lastpass 2.密码太简单不安全 #2.基于密钥的方式实现 (指纹) 1.降低密码泄露风险 2.提升用户的便捷性 #3.实现免密码登录方式 #1.创建一对密钥 公钥+私钥 ==配套 [ ~]# ssh-keygen -C .....一路回车..... #2.将管理机的公钥推送至web服务器上 ( 需要输入对端服务器的密码 ) [ ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub #3.使用 ssh 命令 连接 对应的服务器 ( 检查是否免密码 ) [ ~]# ssh '' #4.有问题查看 tail -f /var/log/secure https://www.jianshu.com/p/fb0df700305d
1.更改远程连接登陆的端口 port 6666 2.禁止ROOT管理员直接登录 PermitRootLogin no 直接 xshell -->root --> server (禁止用户名密码 禁止密钥) 间接 xshell -->oldxu --> server ---> su - root 3.密码认证方式改为密钥认证 PasswordAuthentication no 4.重要服务不使用公网IP地址 !!!!!!!!!!!!!!!!! 5.使用防火墙限制来源IP地址 软件防火墙 | 硬件防火墙 10.0.0.1(其他人) ---> 10.0.0.61 异常 10.0.0.100(公司) ---> 10.0.0.61 正常 6.修改后的配置 [测试完后记得还原] [ ~]# vim /etc/ssh/sshd_config Port 6666 # 变更SSH服务远程连接端口 PermitRootLogin no # 禁止root用户直接远程登录 PasswordAuthentication no # 禁止使用密码直接远程登录 UseDNS no # 禁止ssh进行dns反向解析,影响ssh连接效率参数 GSSAPIAuthentication no # 禁止GSS认证,减少连接时产生的延迟 域名解析IP IP解析域名
ail2ban可以监控系统日志,并且根据一定规则匹配异常IP后使用Firewalld将其屏蔽,尤其是针对一些爆破/扫描等非常有效。 #1.开启Firewalld防火墙 [ ~]# systemctl start firewalld [ ~]# systemctl enable firewalld [ ~]# firewall-cmd --state running #2.修改firewalld规则,启用Firewalld后会禁止一些服务的传输,但默认会放行常用的22端口, 如果想添加更多,以下是放行SSH端口(22)示例,供参考: #放行SSHD服务端口 [ ~]# firewall-cmd --permanent --add-service=ssh --add-service=http #重载配置 [ ~]# firewall-cmd --reload #查看已放行端口 [ ~]# firewall-cmd --list-service #3.安装fail2ban,需要有epel [ ~]# yum install fail2ban fail2ban-firewalld mailx -y #4.配置fail2ban规则.local会覆盖.conf文件 [ fail2ban]# cat /etc/fail2ban/jail.local [DEFAULT] ignoreip = 127.0.0.1/8 bantime = 86400 findtime = 600 maxretry = 5 banaction = firewallcmd-ipset action = %(action_mwl)s [sshd] enabled = true filter = sshd port = 22 action = %(action_mwl)s logpath = /var/log/secure #5.启动服务,并检查状态 [ ~]# systemctl start fail2ban.service [ ~]# fail2ban-client status sshd #6.清除被封掉的IP地址 [ ~]# fail2ban-client set sshd unbanip 10.0.0.1
基于密码 + 动态口令 支持 基于密钥 + 动态口令 不支持 https://www.xuliangwei.com/bgx/1345.html