04下 架构——SSH服务+SSH企业案例(跳板机)

 

 

ssh服务

SSH是一个加密的网络传输协议。相同的有一个telnet协议(明文)。

SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?
1.提供远程连接服务器的服务
1)linux远程连接协议: ssh服务 端口22
2)windows远程连接: RDP协议 端口3389
2.对传输的数据进行加密

 

1、telnet和ssh之间区别

telnet是明文,而ssh是密文。

2、安装telnet服务

注意:telnet服务不支持root用户登录

准备服务器:

主机ip
m01 192.168.15.71

1、创建一个普通用户

useradd test

2 设置密码

passwd test

3、安装telnet服务

yum install telnet telnet-server -y 

4、安装网络工具

yum install net-tools -y

5、开启telnet服务

systemctl start telnet.socket

 下载鲨鱼鳍wireshark抓包工具,telnet密码是明文的,相同的密码都是不同的传输,证明了ssh更安全。

3 ssh相关命令

3.1

ssh root@192.168.15.71 [command]
ssh 连接的命令
root 连接的用户
@ 分隔符,没有特殊意义
192.168.15.71 连接IP
command 需要执行的命令

 

3.2 生成密钥证书:ssh-keygen

会在家目录中生成一个.ssh的目录,其中包含id_rsa,id_rsa.pub文件

id_rsa 私钥(私钥)
id_rsa.pub 公钥(锁)

3.3 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.15.71

ssh-copy-id 将公钥复制到指定服务器中命令(可以免密登录)
-i 指定公钥
root 用户
@ 分隔符,没事特殊意义
192.168.15.71 IP

结果:会在指定的服务器中创建~/.ssh/authorized_keys ,并且会将本服务器中的公钥复制到其中,以至于实现免密登录。

 

 

4、SSH的验证方式

1、密码验证

直接输入密码即可

2、密钥验证

通过公钥和私钥验证的。

密钥的方式比较安全

5、xshell 生成公钥

然后下一步,下一步

编辑/root/.ssh/authorized_keys

把复制的内容放进去

私钥可能保存到Windows里了

然后测试连接:

 

 

 

 

 

# SSH企业案例——跳板机

1、 准备服务器

主机ip身份
lb01 192.168.15.5 负载均衡
lb02 192.168.15.6 负载均衡
web01 192.168.15.7 web服务器
web02 192.168.15.8 web服务器
web03 192.168.15.9 web服务器
nfs 192.168.15.31 文件存储
rsync 192.168.15.41 备份服务器
db01 192.168.15.51 数据库
promethues 192.168.15.61 监控
m01 192.168.15.71 跳板机

2 、将跳板机免密登录所有的机器

for i in 5 6 7 8 9 31 41 51 61 71;do ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.$i; done

 

3、登录脚本

1、一进来就立即让选择登录的服务器: cd /etc/profile.d
2、可以多次选择需要登录的服务器
3、超管可以通过用户名密码的方式,重新进入跳板机系统
4、解决登录不存在的IP

 

vi /root/login.sh


#!/bin/bash



while true
do
           echo "5--->lb01"
           echo "6--->lb02"
           echo "7--->web01"
           echo "8--->web02"
           echo "9--->web03"
           echo "31-->nfs"
           echo "41-->rsync"
           echo "51-->db01"
           echo "61-->promethues"
           echo "71-->m01"


           read -p "请输入要登录的服务器:" IP


            if [[ $IP = "root" ]];then
                            read -p "请输入管理员密码:" PASSWORD


                            if [[ $PASSWORD = "dzg" ]];then
                            break
                            fi


             fi


             ping -c 1 -t 1 172.16.1.$IP &>/dev/null


             if [ $? -ne 0 ];then


                    echo "你输入的ip有误"
                    continue
              fi


              ssh 172.16.1.$IP


done

 

加可执行权限:

chmod +x /root/login.sh

把login.sh移到/etc/profile.d可实现一进来就立即让选择登录的服务器

mv /root/login.sh /etc/profile.d/

 

 

 

知识储备:

1、shell脚本命令行交互输入内容的命令是read [-p]

2、ping命令参数

-c : 指定ping的次数
-t : 指定每次ping的超时时间
posted @ 2021-10-22 14:49  甜甜de微笑  阅读(111)  评论(0编辑  收藏  举报