堡垒机ssh连接-vbs方式

公司使用堡垒机作为连接开发、生产环境机器的工具,本来之前一直使用xshell 工具作为连接工具,后来由于xshell公司发了律师函,不允许公司个人在未授权情况下破解使用(xshell工具每隔一段时间会向外传输当前电脑的ip地址),因此需要找一些替代的开源工具连接堡垒机。

目前我用过最好用的应该是MobaXterm(可命令,也可直接下载文件),推荐大家使用(更新下,更推荐windterm,没错我就是善变的人)。但是我的电脑(win11系统)安装后,总是出现一些奇奇怪怪的问题(同事电脑使用良好),因此索性不用任何工具,直接使用dos窗口,ssh命令连接堡垒机。

但是回到之前的问题,使用ssh命令每次需要手动敲堡垒机地址,以及密码(用dos之前我要敲密码,用dos之后我还要敲密码,那我特么不白用dos了)。因此在想有没有一种方式,能直接通过脚本运行好了

首先想到的是使用.bat脚本,但是一直解决不了连接堡垒机器后,在下一行命令中仍需输入密码的问题,于是放弃了。后来查询资料,使用vbs脚本可以解决这一问题,就改了下vbs脚本,发现可以,脚本代码如下:

Option Explicit
Dim choice
choice = InputBox("请选择环境:" & vbNewLine & "1 - 开发环境" & vbNewLine & "2 - 生产环境")

Select Case LCase(choice)
  Case "1"
    dev()
  Case "2"
    prod()
  Case Else
    dev()
End Select

Function dev()
    Dim WshShell 
    Set WshShell=WScript.CreateObject("WScript.Shell") 
    WshShell.Run "cmd.exe"
    WScript.Sleep 500 
    WshShell.SendKeys "ssh xxx@192.168.1.1 -p 22"
    WshShell.SendKeys "{ENTER}"
    WScript.Sleep 500 
    WshShell.SendKeys "xxxxxx"
    WshShell.SendKeys "{ENTER}"
End Function

Function prod()
    Dim WshShell 
    Set WshShell=WScript.CreateObject("WScript.Shell") 
    WshShell.Run "cmd.exe"
    WScript.Sleep 500 
    WshShell.SendKeys "ssh xxx@jms.server.com -p 22"
    WshShell.SendKeys "{ENTER}"
    WScript.Sleep 500 
    WshShell.SendKeys "xxxxxx"
    WshShell.SendKeys "{ENTER}"
End Function

代码解释:

  1. xxx是你登录堡垒机的用户名,端口以自己的堡垒机机器情况为定,有可能是22,有可能是其他
  2. xxxxxx是当前用户名登录的密码
  3. 输入框选1是开发环境,输入框选2是生产环境,如果文本框什么都没输入,就默认是开发环境登录

脚本直接点击即可使用,windows环境下需要额外安装其他软件,本来想用下拉框实现的,但是发现vbs不支持这个下拉框选择(也可能是我知识有限),所以只能退而求其次,使用文本输入。

1.操作记录

img

posted @ 2023-06-20 15:44  God-slayer  阅读(469)  评论(0编辑  收藏  举报