x-shell 通过堡垒机连接 ssh多个机器 自动化脚本

大家好,我是烤鸭:

1. 连接vpn

这一步就没什么说的了。我们用的easyconnect。登录后弹出堡垒机页面。
easyconnect 官网:https://sslvpn.zjweu.edu.cn/com/installClient.html

2.  登录堡垒机账号

 

登录堡垒机之后,如图,点击ssh链接。

 

3.  用 x-shell 模拟网页直接登堡垒机


配置地址和用户名密码。


4.  ssh到其他的机器


其实能登录到堡垒机就已经可以登录其他的机器了。
如果我们想直接跳到那台机器,不自己输入ssh的那些命令。

如图所示,就按照提示一步步写登录脚本就好了。

5.  贴一下我的登录脚本


expect                                                                                                      send 
Select server:                                                                                              1
Input account:                                                                                          xxxxxx
wanxxxxxxxxin@xx.xxx.xx.35's password:                                             xxx#rfc
                                                                                                     ssh xxxx@xx.xx.xx.47
Are you sure you want to continue connecting (yes/no)?                          yes
wanxxxxxxxxin@xx.xx.xx.47's password:                                               xxx#rfc

6.  贴一下我的数据库登录脚本(就是多了登录mysql的操作)


expect                                                                                                      send 
Select server:                                                                                              1
Input account:                                                                                          xxxxxx
wangxxxxxxxin@xx.xxx.xx.35's password:                                             xxx#rfc
                                                                                                     ssh xxxx@xx.xx.xx.47
Are you sure you want to continue connecting (yes/no)?                          yes
wangxxxxxxxin@xx.xx.xx.47's password:                                               xxx#rfc
                                                                                                    mysql -uroot -h 127.0.0.1 -p
Enter password:                                                                                      root1234
                                                                                                      use database_name;

Shell脚本中,可以通过Expect脚本自动化地通过SSH连接堡垒机(也称为跳板机)并执行命令。Expect是一个用于自动化控制交互式应用程序的命令解释器,比如telnet、ftp、passwd、fsck、rlogin、ssh或者甚至是系统上的命令行。 以下是使用Expect脚本通过SSH连接堡垒机并执行命令的基本步骤: 1. 安装Expect。在大多数Linux发行版中,可以通过包管理器安装Expect,例如在Ubuntu中可以使用`sudo apt-get install expect`命令安装。 2. 创建一个Expect脚本,使用`spawn`命令启动SSH会话,然后使用`expect`命令等待特定的字符串(通常是密码提示),接着使用`send`命令发送密码。 3. 在Shell脚本中调用Expect脚本。 下面是一个简单的示例: ```bash #!/usr/bin/expect # 调用SSH命令连接堡垒机 spawn ssh 用户名@堡垒机地址 # 等待密码提示 expect "password:" # 发送密码(注意:为了避免密码显示在历史记录中,应当使用send_user) send_user "你的密码\n" # 交互模式,让脚本继续交互式操作 interact ``` 将上述脚本保存为`ssh_to_bastion.exp`,然后通过Shell脚本调用它: ```bash #!/bin/bash expect ssh_to_bastion.exp ``` 确保将`用户名`、`堡垒机地址`和`你的密码`替换为实际的值,并根据实际情况调整脚本。 使用Expect脚本自动化SSH登录时需要注意安全性,因为脚本中会包含明文密码。出于安全考虑,建议使用密钥认证来替代密码认证,或者使用更安全的凭证管理方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烤鸭的世界我们不懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值