请选择 进入手机版 | 继续访问电脑版

2020-12-29

[复制链接]
舞鴐雲腾 发表于 2020-12-31 19:20:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
综合架构远程管理服务(SSH)

==================================
00. 先容部分
1) 远程管理服务器先容
2) SSH远程管理服务远程毗连的原理
3) SSH远程毗连方式 秘钥毗连方法
4) SSH服务的设置文件 /etc/ssh/sshd_config
5) SSH远程毗连安全防范思路(防止入侵)
6) 总结SSH服务相关下令 ssh scp
7) ansible批量管理服务先容 saltstack
8) ansible软件摆设
9) ansible服务简朴应用
01. 知识点部分
1) 实时同步服务原理
a 摆设好rsync守护历程 传输数据
b 摆设好inotify软件 监控数据变革
c 摆设安装sersync软件 将rsync+inotify软件团结
2) 相关软件摆设安装
3) sersync的设置过程
rsync下令掌握sersync服务设置方法
02. 远程管理服务概念先容
SSH 安全的远程毗连 数据信息是加密的 22 SSH服务默认可以root用户远程毗连 系统远程毗连
TELNET 不安全的远程毗连 数据信息是明文的 23 telnet服务默认不可以让root用户远程毗连 网络设备远程毗连
  1. 补充: 什么是shell1. 每毗连登录到一个linux系统中,就是一个shell2. 可以一个linux系统有多个会话毗连,每一个会话都是一个shell3. 系统中用户可以实现相互转换,每转换一个用户就是一个shellshell特点说明:1. 一般下令行暂时设置的信息,只会影响当前shell2. 下令设置的信息如果想生效,需要切换shell            eg: 修改主机名称
复制代码
03. SSH服务毗连工作原理(数据加密)
私钥: 钥匙
公钥: 锁头
第一个步调: 客户端 执行远程毗连下令
第二个步调: 客户端 服务端 建立三次握手过程
第三个步调: 服务端 让客户端举行确认是否吸收服务端公钥信息
第四个步调: 客户端 举行公钥确认,吸收到公钥信息
第五个步调: 服务端 让客户端确认登任命户暗码信息
第六个步调: 客户端 举行暗码信息确认
第七个步调: 客户端 服务端 远程毗连建立乐成
  1. 私钥和公钥作用:01. 使用私钥和公钥对数据信息举行加密处理02. 使用公钥和私钥举行用户身份认证基于暗码的方式举行远程毗连: 公钥和私钥只能完成数据加密过程基于秘钥的方式举行远程毗连: 公钥和私钥可以完成身份认证工作
复制代码
04. SSH远程毗连的方式
a 基于口令的方式举行远程毗连 毗连比力贫苦 毗连不太安全
b 基于秘钥的方式举行远程毗连 毗连方便 毗连比力安全
  1. 基于秘钥方式毗连过程(原理)1. 客户端(管理端)    执行下令创建秘钥对2. 客户端(管理端)    建立远程毗连(口令),发送公钥信息3. 客户端(管理端)    再次建立远程毗连4. 服务端(被管理端)  发送公钥质询信息(你要是能打开我的锁头吗)5. 客户端(管理端)    处理公钥质询信息(钥匙将锁头打开),将质询效果返回给服务端6. 服务端(被管理端)  吸收到质询效果,建立好远程毗连
复制代码
05. SSH实现基于秘钥毗连的摆设步调
准备工作:
准备好一台管理服务器
  1. 第一个历程: 管理端创建秘钥对信息
复制代码
[root@m01 ~]# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
  1. 第二个历程: 管理端需要将公钥举行分发ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31第三个历程: 举行远程毗连测试ssh 172.16.1.41   --- 不用输入暗码信息可以直接毗连问题: 01. 如何实现批量管理多台主机    如何编写脚本举行批量分发公钥???编写脚本最简朴方式: 堆下令
复制代码
#!/bin/bash
for ip in 31 7 41
do
ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip
done
问题: 有交互过程
01. 需要有确认yes或no
02. 需要输入暗码信息 OK
03. 服务端端标语变革了,如何分发公钥
  1. 如何不用交互输入暗码信息,举行远程毗连分发公钥:第一步调: 下载安装软件yum install -y sshpass第二步调: 执行免交互方式分发公钥下令
复制代码
  1. sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41       
复制代码
  1. 如何不要输入毗连yes或no简直认信息
复制代码
  1. ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41 "-o StrictHostKeyChecking=no"       
复制代码
  1. 服务端标语发生变革,如何举行批量分发公钥
复制代码
  1. sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41 -p 52113 "-o StrictHostKeyChecking=no"
复制代码
  1. 分发公钥脚本:
复制代码
[root@m01 scripts]# vim fenfa_pub_key.sh
#!/bin/bash
for ip in {1…100}
do
echo "==================== host 172.16.1.                              i                      p                      p                      u                      b                      −                      k                      e                      y                      s                      t                      a                      r                      t                      f                      e                      n                      f                      a                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      "                      s                      s                      h                      p                      a                      s                      s                      −                      p                      123456                      s                      s                      h                      −                      c                      o                      p                      y                      −                      i                      d                      −                      i                      /                      r                      o                      o                      t                      /                      .                      s                      s                      h                      /                      i                               d                         d                              s                      a                      .                      p                      u                      b                      r                      o                      o                      t                      @                      172.16.1.                          ip pub-key start fenfa ==================== " sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.               ippub−keystartfenfa===================="sshpass−p123456ssh−copy−id−i/root/.ssh/idd​sa.pubroot@172.16.1.ip “-o StrictHostKeyChecking=no” &>/dev/null
echo -e "host 172.16.1.                              i                      p                      f                      e                      n                      f                      a                      s                      u                      c                      c                      e                      s                      s                      .                      "                      e                      c                      h                      o                      "                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      =                      h                      o                      s                      t                      172.16.1.                          ip fenfa success." echo "==================== host 172.16.1.               ipfenfasuccess."echo"====================host172.16.1.ip fenfa end ==================== "
echo “”
done
  1. 分发公钥查抄脚本(批量管理脚本)  --- 串型批量管理
复制代码
  1.    [root@m01 scripts]# cat check_pub_key.sh     #!/bin/bash    CMD=$1    for ip in {7,31,41}    do      echo "==================== host 172.16.1.$ip check ==================== "      ssh 172.16.1.$ip $CMD       echo ""    done
复制代码
06. SSH服务设置文件
/etc/ssh/sshd_config
Port 22 — 修改服务端口信息
ListenAddress 0.0.0.0 — 监听所在 指定一块网卡可以或许担当远程访问请求 *****
PS: 指定监听所在只能是本地网卡上有的所在
PermitEmptyPasswords no — 是否允许远程用户使用空暗码登录,默认不允许
PermitRootLogin yes — 是否克制root用户远程毗连主机 发起改为no
GSSAPIAuthentication no — 是否开启GSSAPI认证功能 不用的时候关闭
UseDNS no — 是否开启反向DNS剖析功能 发起举行关闭
07. SSH远程服务防范入侵的案例
1. 用密钥登录,不用暗码登岸
2、牤牛阵法:办理SSH安全问题
a.防火墙封闭SSH,指定源IP限制(局域网、信任公网)
b.开启SSH只监听本地内网IP(ListenAddress 172.16.1.61)。
3、只管不给服务器外网IP
4、最小化(软件安装-授权)
5、给系统的重要文件或下令做一个指纹
/etc/passwd md5sum 11110000aaaabbbb 监控
inotify /bin 监控
6、给他锁上 chattr +i
08. SSH相关的下令总结
ssh-keygen
ssh-copy-id
sshpass
ssh
scp
sftp 172.16.1.41
ls 检察远程ftp服务器信息
cd — 检察远程ftp服务器信息
lls 检察本地ftp客户端信息
lcd — 检察本地ftp客户端信息
get — 下载信息
put — 上传信息
help — 检察下令资助
bye — 退出ftp毗连
待思考问题:

  • 使用脚本实现实时同步
    while循环
  • 如何实现xshell也是基于秘钥方式毗连主机
  • 提前安装摆设好ansible软件
    在管理端服务器上: yum install -y ansible

来源:https://blog.csdn.net/weixin_52610048/article/details/111879080
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )