Last active
July 11, 2019 02:20
-
-
Save ionauq/116777fe48773dc8cd4b3d2679891da2 to your computer and use it in GitHub Desktop.
跳板机登录服务器脚本
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/zsh | |
# ssh自动登录服务器脚本 | |
# zsh 数组的索引从1开始,切记! | |
# 使用方法:通过传入索引就可以登录相对应的服务器 | |
s_info=('server1-IP' 'server2-IP') # 修改 - 服务器IP地址数组 | |
u_info=seonwater # 修改 - 登录服务器用户名 | |
bastion_ip='IP地址' # 修改 - 跳板机IP地址 | |
bastion_port=18181 # 修改 - 跳板机指定端口 | |
reply_info='-JUMPER-0' # 修改 - 登录跳板机返回的信息 | |
rsa_path='~/.ssh/server_id_rsa' # 修改 - 私钥地址 | |
print $s_info | |
echo -n "Enter Server No.:" | |
read s_no | |
if [ -z "$s_no" ]; then | |
s_no=1 | |
fi | |
l_info=$s_info[$s_no] | |
set timeout 10 | |
/usr/bin/expect <(cat << EOF | |
spawn ssh -A -p $bastion_port -i $rsa_path $u_info@$bastion_ip | |
expect { | |
"${u_info}(0)@*${reply_info}*" | |
{send "ssh -p $bastion_port $u_info@$l_info\r";} | |
} | |
interact | |
EOF | |
) | |
## 方法二: 通过ssh方式登录 | |
#ssh -t -A -p $bastion_port -i $rsa_path $u_info@$bastion_ip "ssh -p ${bastion_port} ${u_info}@${l_info}" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment