TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 自动化运维
  3. 正文

ssh远程服务原理及配置

2023年11月14日 828点热度 0人点赞 0条评论

远程服务原理及配置

1)远程服务概念介绍

#作用说明:  实现通过网络原理管理操作主机系统
#实现方式:  ssh(更加安全传输的信息是密文信息〉/telnet(不安全的传输明文数据)

2)远程服务通讯原理秘钥概念:

1)基于秘钥可以实现对数据加密与解密处理
2)基于秘钥可以实现访问者身份认证
#基于密码方式实现通讯原理:
A主机(客户端)                        B主机(服务端SSH)
a.发送建立连接请求                  b.会将一个秘钥信息发送给客户端(公钥信息>
c.接收公钥信息并进行密码验证          d.接收用户建立连接请求
e.产生数据信息(加密处理--公钥)        f.接收到加密的数据(解密处理--私钥)
g.接收响应数据信息(解密处理---公钥)   h.响应数据信息进行发送(加密处理---私钥)
#基于秘钥方式实现通讯原理:
A主机(客户端)                        B主机(服务端SSH)
a.发送建立连接请求                   b.会将一个秘钥信息发送给客户端(公钥信息)
c.接收公钥信息并进行密码验证            d.接收用户建立连接请求
e.创建新的秘钥文件(私钥/公钥)         f.会接收到公钥文件信息
g.将创建好的公钥信息进行发送
--- - - - - ----- --- - +- -- - -- - - --- --------------------------
a.发送建立连接请求                   b.进行公钥质询过程(公钥==锁)
c.利用自身私钥解密公钥                d.确认客户端身份实现连接建立

3)远程服务配置

`创建公私钥`
[root@m01 ~]# ssh-keygen -t dsa
`分发公钥`
[root@m01 .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.100
[root@m01 .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.99
[root@m01 .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.98
`用ssh管理server02`
[root@m01 .ssh]# ssh 172.16.1.99 "cat /etc/hosts"
`编写脚本批量管理`
[root@m01 script]# cat manager.sh 
#!/bin/bash
for ip in {98..100}
do
   echo -e "\033[32m ==操作的主机是172.16.1.$ip== \033[0m"
   ssh 172.16.1.$ip "$1"
   echo "----------------------------------------------------"
done
[root@m01 script]# sh manager.sh 'ip a s ens39'
 ==操作的主机是172.16.1.98== 
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e3:51:1c brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.98/24 brd 172.16.1.255 scope global noprefixroute ens39
       valid_lft forever preferred_lft forever
    inet6 fe80::c7e0:5f94:873b:22d5/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::d3b:51ce:4b76:7a33/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::ad47:cc00:a2ee:a686/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
----------------------------------------------------
 ==操作的主机是172.16.1.99== 
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:34:db:e6 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.99/24 brd 172.16.1.255 scope global noprefixroute ens39
       valid_lft forever preferred_lft forever
    inet6 fe80::c7e0:5f94:873b:22d5/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::d3b:51ce:4b76:7a33/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::ad47:cc00:a2ee:a686/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
----------------------------------------------------
 ==操作的主机是172.16.1.100== 
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:d6:ad:43 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.100/24 brd 172.16.1.255 scope global noprefixroute ens39
       valid_lft forever preferred_lft forever
    inet6 fe80::c7e0:5f94:873b:22d5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
----------------------------------------------------

问题1:怎么编写脚本批量将m01的公钥分发给所有主机

[root@m01 script]# cat ansible_cluster_key.sh 
#!/bin/bash
for ip in {98..100}
do
  sshpass -p[密码信息] ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.$ip -o StrictHostKeyChecking=no &>/dev/null 
if [ $? -eq 0 ]
then
 echo "主机172.16.1.${ip}分发成功!!"
else
 echo "主机172.16.1.${ip}分发失败@@@"
fi
done

问题2:怎么实现m01并发管理所有主机

解决方法:通过ansible管理
标签: 暂无
最后更新:2023年11月14日

tanghao946

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 远程服务原理及配置
    • 1)远程服务概念介绍
    • 2)远程服务通讯原理秘钥概念:
    • 3)远程服务配置
    • 问题1:怎么编写脚本批量将m01的公钥分发给所有主机
    • 问题2:怎么实现m01并发管理所有主机

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号