• Linux服务器搭建超简易跳板机连接阿里云服务器


    简介

    想要规范内部连接阿里云云服务器的方式,但是最近懒病犯了,先搞一个简易式的跳板机过渡一下,顺便在出一个教程,其他以后再说!

    配置方法

    创建密钥
    登录阿里云,找到云服务器ECS控制台,点击密钥对:
    在这里插入图片描述ps:都用阿里云服务器了,谁还自己创建密钥,咋方便咋来。
    点击创建密钥对,输入信息:
    在这里插入图片描述
    ps:注意红框处,这个密钥只能下载这一次,弄丢了,就没有了。
    接下来绑定密钥对:
    在这里插入图片描述
    绑定完成后就可以使用密钥对登录了,使用SSH(Secure Shell)客户端软件远程登录,只要导入密钥就可以了:
    在这里插入图片描述
    ps:我这边使用的工具是Electerm,下载链接:https://github.com/electerm/electerm
    跳板机配置
    接下来就是配置跳板机了,首先创建一台虚拟机,然后远程登录上去,先测试是否可以使用密钥对登录到云服务器:
    在这里插入图片描述
    脚本配置

    #!/bin/bash
    
    # 定义多个云服务器的配置信息,test.pem是我的密钥,请按照实际填写。
    servers=(
        "192.168.0.1 ecs-user /home/test/test.pem"
        "xxx.xxx.xxx.xxx ecs-user test.pem"
        "yyy.yyy.yyy.yyy ecs-user test.pem"
        # 添加更多云服务器的配置信息
    )
    
    # 显示可选的云服务器列表供用户选择
    echo "请选择要登录的云服务器:"
    for ((i=0; i<${#servers[@]}; i++)); do
        server_info=(${servers[$i]})
        echo "$i. ${server_info[0]}"
    done
    
    # 提示用户输入选择
    read -p "请输入数字选择要登录的云服务器: " choice
    
    # 根据用户选择连接相应的云服务器
    chosen_server=(${servers[$choice]})
    ssh -i ${chosen_server[2]} ${chosen_server[1]}@${chosen_server[0]}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    脚本释义

    #!/bin/bash: 指定解释器为 Bash,即告诉系统这是一个 Bash 脚本。
    
    servers=(...): 定义了一个名为 servers 的数组,其中包含多个云服务器的配置信息。每个配置信息由空格分隔的三个部分组成:服务器 IP 地址、用户名和密钥文件路径。
    
    echo "请选择要登录的云服务器:": 输出提示消息,提示用户选择要登录的云服务器。
    
    for ((i=0; i<${#servers[@]}; i++)): 循环遍历 servers 数组,${#servers[@]} 表示数组元素的个数。
    
    server_info=(${servers[$i]}): 将当前循环到的服务器配置信息拆分为数组 server_info,其中 ${servers[$i]} 表示当前数组元素的值。
    
    echo "$i. ${server_info[0]}": 输出每个服务器的序号和 IP 地址,其中 $i 是数组索引,${server_info[0]} 表示服务器的 IP 地址。
    
    read -p "请输入数字选择要登录的云服务器: " choice: 提示用户输入要连接的云服务器的序号,并将用户的选择存储在变量 choice 中。
    
    chosen_server=(${servers[$choice]}): 根据用户选择的序号,获取相应的云服务器配置信息,并存储在数组 chosen_server 中。
    
    ssh -i ${chosen_server[2]} ${chosen_server[1]}@${chosen_server[0]}: 使用 SSH 连接到用户选择的云服务器。${chosen_server[2]} 表示密钥文件路径,${chosen_server[1]} 表示用户名,${chosen_server[0]} 表示服务器 IP 地址。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    wq保存看看效果:
    在这里插入图片描述
    ps:这里我使用了bash test.sh(非root用户记得加sudo,sudo权限都没有,那你。。。)这个命令是因为脚本使用了 bash 的数组(array)功能,我这个环境使用的解释器不支持此功能。在有些系统中,/bin/sh 实际上可能链接到更简化的解释器,不支持数组语法,这是问题,需要改配置,但是现在既然使用bash可以运行,那就懒得改了。
    使用 shc加密脚本(只防君子,不妨小人):

    sudo apt-get update
    sudo apt-get install shc
    shc -f test.sh
    sudo ./test.sh.x
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    OK,这样一个懒人简易版跳板机就搭建完成了。

    今日推荐

    游戏:《崩坏-星穹铁道》
    推荐理由:我喜欢玩!
    在这里插入图片描述

  • 相关阅读:
    Java反射06:反射的应用之动态代理
    外卖点餐自取连锁多店小程序开发
    nodejs+mysql航空飞机票销售酒店预订系统vue
    [教你做小游戏] 滑动选中!PC端+移动端适配!完美用户体验!斗地主手牌交互示范
    Spring集成XxlJob核心初始化类,对应版本:2.4.1-SNAPSHOT
    Java实现简易版的【图书管理系统】
    计算机组成原理知识点总结——第七章输入/输出系统
    【问题思考】中断隐指令是硬件还是CPU执行的?(分析执行过程)
    ——二叉树
    idea 模板参数注释 {@link}
  • 原文地址:https://blog.csdn.net/weixin_57025326/article/details/136440121