-
远程管理服务
SSH 22 安全远程连接方式(加密处理) 可以默认使用root用户登录 互联网远程连接服务器
Telnet 23 不安全远程连接方式(明文信息) 默认使用普通用户登录 网络设备远程管理 -
SSH远程连接原理过程
- 发送建立连接请求 客户端
- 发送公钥确认信息 服务端
- 确认公钥信息 客户端
- 发送公钥文件信息 服务端 /etc/ssh/ 公钥信息
- 接收公钥文件信息 客户端 ~/.ssh/know_hosts
- 发送密码确认信息 服务端
- 响应密码信息 客户端
- 远程连接建立成功 服务端
数据传输过程会利用公钥和私钥对数据加密和解密
-
SSH远程连接建立方式
基于密码(口令)方式 安全性不高
基于密钥方式 批量管理服务器(ansible),准备环境 免交互远程连接- 管理端 发送连接请求
- 被管理端 基于口令进行验证
- 管理端 创建密钥对,并发送公钥信息
- 管理端 发送连接请求
- 被管理端 发送公钥质询信息
- 管理端 响应公钥质询信息
- 被管理端 接收响应信息,远程连接建立
基于密钥方式实现方法:m01
第一个历程:创建密钥对信息
ssh-keygen -t dsa
[root@m01 ~]# ll /root/.ssh/id_dsa*
-rw------- 1 root root 668 Jun 22 16:13 /root/.ssh/id_dsa
-rw-r--r-- 1 root root 598 Jun 22 16:13 /root/.ssh/id_dsa.pub第二个历程:将公钥信息进行发送
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.7分发密钥原理:
- 管理端: 创建密钥对,保存好私钥
- 管理端: 将公钥进行发送
- 被管理端:接收到公钥 保存 ~/.ssh/authorized_keys (600)
/etc/ssh/sshd_confing
如何实现批量分发公钥信息 (7 31 41)
编写脚本:centos7 免交互 批量创建用户并设置初始密码
问题:可以出现交互的地方-
第一次ssh连接,会有yes或no提示信息
解决:利用ssh 参数解决
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.7 -o StrictHostKeyChecking=no -
每次连接,分发公钥前都需要输入密码信息
yum install -y sshpass
sshpass - noninteractive ssh password provider
ssh提供密码信息,采用免交互方式
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.7 -o StrictHostKeyChecking=no
编写分发公钥脚本:
!/bin/bash
for 变量 in 循环变化的信息
do
循环执行的动作
done
if [ 资本 >= 1000 ] 单分支if语句
then 然后
买豪宅 豪车 美女
fi
if [ 资本 >= 1000 ] 双分支if语句
then 然后
买豪宅 豪车 美女
else 否则
继续努力工作攒钱
fi
for ip in {7,31,41}
do
echo "=============== fenfa pub_key with 172.16.1.$ip =============== "
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.$ip -o StrictHostKeyChecking=no &>/dev/null
if [ $? -eq 0 ]
then
echo "公钥信息分发成功 [ok]"
echo ""
else
echo "公钥信息分发失败 [failed]"
echo ""
fi
done
等于 -eq
大于 -gt
小于 -lt
大于等于 -ge
小于等于 -le
不等于 -ne
-
远程服务配置文件参数说明
vim /etc/ssh/sshd_configPort 22 --- 默认端口号信息
ListenAddress 0.0.0.0 --- 指定监听地址信息
指定网卡可以请求访问请求 监听地址必须是本地网卡上配置的地址
PermitRootLogin yes --- 禁止root用户远程连接 root暴力破解
PermitEmptyPasswords no --- 禁止用户使用空密码登录
UseDNS no --- 是否进行DNS反向解析 已知IP地址解析域名
GSSAPIAuthentication no --- 特殊认证方式 -
SSH远程入侵防范思路
http://phenixikki.blog.51cto.com/7572938/1546669- 尽量使用SSH密钥方式进行登录
- 尽量所有主机不要配置外网网卡 负载均衡有外网
- 进行防火墙安全策略控制 iptables/firewalld
禁止所有人 s:0.0.0.0 --不能访问--- 10.0.0.5/6 22端口 - 在ssh配置文件中只监听内网IP地址
- 对系统重要数据信息进行监控 md5sum -- zabbix监控项 /etc/passwd
- 对系统重要目录数据进行加锁 chattr +i /xxx
-
批量管理服务 ansible
作用说明:- 批量管理操作主机 修改网卡信息 修改服务配置文件
- 批量部署服务
- 批量分发数据文件 代码上线 web服务器(集群)
- 批量收集系统信息
特点说明: - 部署安装简单
不需要启动服务 不需要编写配置文件 不需要再客户端进行任何设置 - 应用配置方便(功能强大 模块)
-
批量管理软件部署
第一个历程:远程ssh基于密钥方式连接
第二个历程:在m01主机上安装ansible软件
yum install -y ansible --- epel源 -
课程知识总结:
1)网络重要协议原理 ARP
2)IP地址概念说明 IP地址组成 IP地址分类(NAT) IP地址子网划分
3)企业上网原理 vlan trunk
4)虚拟主机上网原理 (nat 桥接 仅主机 --- 网络问题排错)
5)系统路由配置方法(静态默认路由配置 静态网段路由配置 静态主机路由配置)
6)SSH远程连接服务
SSH远程连接通讯原理 (私钥 公钥) --- https 私钥 公钥
SSH远程基于密钥连接 命令 脚本
7)SSH服务配置文件
监听地址
8)SSH防范入侵方法
9)简单介绍ansible软件作用和特点
10)软件安装部署方式
网友评论