【运维】 使用 shell 脚本实现类似 jumpserver 效果实现远程登录linux 服务器
实现效果
通过序号选择登录:
配置证书登录
配置证书登录可以免去每次都输入密码的麻烦。详见另一篇博文:
【ssh】使用秘钥对(公钥/私钥)登录linux主机以及原理介绍
自动登录脚本
直接复用以下脚本即可,在 servers 处定义自己的服务器列表
#!/bin/bash
# 定义远程服务器列表
servers=(
"server1Name|192.168.1.1"
"server2Name|192.168.1.2"
"server3Name|192.168.1.3"
)
# 打印服务器列表
echo "请选择一个服务器来登录:"
# 使用 select 来展示菜单选项
select server in "${servers[@]}"; do
if [ -n "$server" ]; then
# 提取选择的服务器信息
server_name=$(echo $server | cut -d'|' -f1)
server_ip=$(echo $server | cut -d'|' -f2)
# 打印用户选择的服务器信息
echo "您选择的服务器是:$server_name (IP: $server_ip)"
# 使用 SSH 登录到该服务器
ssh "root@$server_ip"
# 成功连接后退出循环
break
else
echo "无效选择,请重新选择。"
fi
done