返回顶部

linux 综合架构远程管理服务

远程管理服务概念介绍

SSH 安全的远程连接 数据信息是加密的 22 SSH服务默认可以root用户远程连接 系统远程连接

TELNET 不安全的远程连接 数据信息是明文的 23 telnet服务默认不可以让root用户远程连接 网络设备远程连接

SSH服务连接工作原理

  • 私钥: 钥匙

  • 公钥: 锁头

  • 第一个步骤: 客户端 执行远程连接命令

  • 第二个步骤: 客户端 服务端 建立三次握手过程

  • 第三个步骤: 服务端 让客户端进行确认是否接收服务端公钥信息

  • 第四个步骤: 客户端 进行公钥确认,接收到公钥信息

  • 第五个步骤: 服务端 让客户端确认登录用户密码信息

  • 第六个步骤: 客户端 进行密码信息确认

  • 第七个步骤: 客户端 服务端 远程连接建立成功

私钥和公钥作用:

  • 01. 利用私钥和公钥对数据信息进行加密处理

  • 02. 利用公钥和私钥进行用户身份认证

基于密码的方式进行远程连接: 公钥和私钥只能完成数据加密过程

基于秘钥的方式进行远程连接: 公钥和私钥可以完成身份认证工作

SSH远程连接的方式

  • a 基于口令的方式进行远程连接 连接比较麻烦 连接不太安全

  • b 基于秘钥的方式进行远程连接 连接方便 连接比较安全

基于秘钥方式连接过程(原理)

  • 1. 客户端(管理端) 执行命令创建秘钥对

  • 2. 客户端(管理端) 建立远程连接(口令),发送公钥信息

  • 3. 客户端(管理端) 再次建立远程连接

  • 4. 服务端(被管理端) 发送公钥质询信息(你要是能打开我的锁头吗)

  • 5. 客户端(管理端) 处理公钥质询信息(钥匙将锁头打开),将质询结果返回给服务端

  • 6. 服务端(被管理端) 接收到质询结果,建立好远程连接

SSH实现基于秘钥连接的部署步骤

准备工作:

  • 准备好一台管理服务器 (m01 10.0.0.61)

第一个历程: 管理端创建秘钥对信息

ssh-keygen -t dsa

第二个历程: 管理端需要将公钥进行分发 (在这里需要交互)

ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31

第三个历程: 进行远程连接测试

ssh root@172.16.1.31 hostname

如何不用交互输入密码信息

第一步骤: 下载安装软件

yum install -y sshpass

第二步骤: 执行免交互方式分发公钥命令

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41

服务端口号发生变化,如何进行批量分发公钥

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41 -p 52113 "-o StrictHostKeyChecking=no"

分发公钥脚本 fenfa_pub_key.sh

#!/bin/bash

for ip in {7,31,41}
do
  echo "==================== host 172.16.1.$ip pub-key start fenfa ==================== "
  sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip "-o StrictHostKeyChecking=no" &>/dev/null
  echo -e "host 172.16.1.$ip fenfa success."
  echo "==================== host 172.16.1.$ip fenfa end ==================== "
  echo ""
done 

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解析功能 建议进行关闭

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

 

posted @ 2019-11-30 22:22  Crazymagic  阅读(158)  评论(0编辑  收藏  举报