堡垒机跳转MobaXterm问题解决

堡垒机跳转MobaXterm问题解决

通过堡垒机跳转—使用MobaXterm终端显示sshpass not found问题

问题描述

登录堡垒机后,选择对应机器跳转,使用Xshell没有问题,可以成功跳转;但使用MobaxXterm跳转显示sshpass not found

问题分析

MobaXterm本来是支持Linux的,可能在Windows上会有其他配置才能正确使用这些(但平时当终端使用没有影响)

没有安装sshpass

堡垒机跳转有一些特殊验证处理

问题解决

查看Windows是否需要其他配置

尝试在LInux虚拟机上使用堡垒机跳转,但同样出现该问题,初步判定应该就是没有安装sshpass。

尝试安装sshpass

根据终端提示使用apt install sshpass安装,虽然提示✔,但理论上Windows在没安装其他工具时应该是不能使用apt的,尝试跳转,依然显示not found,且使用sshpass -V,查看不到版本信息。

通过查询资料,发现基本上没有该问题的解决方案,于是尝试gpt,分析得知,因为sshpass也是支持Linux的工具(但网上有个32位的版本,github上),Windows上并不直接支持,Windows上ssh工具有其他的使用,但MobaXterm明确是要使用sshpass,故应该是尝试如何在Windows上安装sshpass工具并使用。

于是找到使用Cygwin可以实现

下载Cygwin

前往 Cygwin 官方网站。

下载 setup-x86_64.exe(64 位系统)。

安装Cygwin

​ 正常选择安装路径,安装包下载源进行安装。

​ 安装的包要包括:

gcc-core(C 编译器)

make(构建工具)

wget(用于下载工具)

git(可选,下载源码时需要)

automake

autoconf

m4

libtool

安装完成后,尝试运行Cygwin Terminal(我当时是显示找不到mintty.exe,但是确实存在)

最终是重新安装了一些包(不确定有没有用),然后**通过管理员模式运行mintty.exe(应该直接用这个就行)**解决。

下载sshpass源码

通过wget(速度慢)或者冲GitHub上拉(我当时使用的方式{可能需要挂梯子})

wget http://downloads.sourceforge.net/project/sshpass/sshpass/1.09/sshpass-1.09.tar.gz

git clone https://github.com/kevinburke/sshpass.git

cd sshpass

使用wget的话需要解压源码包:

tar -xvzf sshpass-1.09.tar.gz

cd sshpass-1.09

若没有其余错误,可以跳到第6步。

若有的包是后续安装的,记得要重新生成构建文件确保兼容:

aclocal

autoconf

automake --add-missing

这里可能会出现automake --add-missing Makefile.am: error: required file './README' not found错误,使用

touch README

即可解决。然后重新执行上述命令。

进行配置,编译,安装

./configure

make

make install

这里执行成功后,可以使用“sshpass -V查看是否有版本信息(在Cygwin Terminal里面)”,有了才进行下一步。

添加环境变量

Win+s搜索“环境变量”,点击进入系统属性界面。

在系统变量里面找到Path,选择点击“编辑”,在编辑窗口点击“新建”,然后添加Cygwin的bin目录路径

C:\cygwin64\bin

但实际上可能不是这个路径。

可以手动看看C:\cygwin64\bin\sshpass.exe存在不?(我当时是没有)

此时可以检查`/usr/local/bin目录中是否存在sshpass(直接通过文件夹看),或者在Cygwin Terminal中运行:which sshpass查看,若存在,则就是证明sshpass安装在该目录下。则添加环境变量为该路径才对:

C:\cygwin64\usr\local\bin

添加后验证安装

Cygwin Terminal和cmd中分别运行“sshpass -V”看看是否有版本信息。

通过上述操作就已经可以在cmd中看到sshpass版本信息了,代表已经可以在Windows上使用sshpass。

但MobaXterm使用的是它自己的终端环境,会与cmd的环境变量独立(SOS我也是到这里才知道),故MobaXterm无法直接访问Cygwin中的sshpass。但可以解决。

在MobaXterm中使用:

ln -s /cygdrive/c/cygwin64/usr/local/bin/sshpass /usr/bin/sshpass

然后验证“sshpass -V”应该就可以了。

问题解决!!!可以跳转了,但会有/etc/ssh_config line 1: Missing argument. /etc/ssh_config: terminating, 1 bad configuration options的错误提示。大概意思就素:/etc/ssh_config配置文件第一行有语法错误或缺少参数。直接vim /etc/ssh_config进去编辑,用以下内容覆盖存在内容。

# This is the ssh client system-wide configuration file. See

# ssh_config(5) for more information. This file provides defaults for

# users, and the values can be changed in per-user configuration files

# or on the command line.

# Site-wide defaults for various options

Host *

ForwardAgent no

ForwardX11 no

ForwardX11Trusted yes

PasswordAuthentication yes

HostbasedAuthentication no

GSSAPIAuthentication yes

GSSAPIDelegateCredentials no

# GSSAPIKeyExchange no

# GSSAPITrustDns no

BatchMode no

CheckHostIP yes

AddressFamily any

ConnectTimeout 0

StrictHostKeyChecking ask

IdentityFile ~/.ssh/id_rsa

IdentityFile ~/.ssh/id_dsa

Port 22

Protocol 2

Ciphers aes128-ctr,aes192-ctr,aes256-ctr

Tunnel no

TunnelDevice any:any

PermitLocalCommand no

VisualHostKey no

GSSAPIKeyExchange no

GSSAPITrustDns no

上述两项注释掉,不然报错。

重新尝试,成功!!!

相关推荐

2022新手如何选择股票开户——亲测20多个炒股APP(建议收藏)
黑帮365天第3季是真实的吗

2022新手如何选择股票开户——亲测20多个炒股APP(建议收藏)

⌛ 2025-06-30 👁️ 2300
历届世界杯西班牙阵容盘点,经典阵容解析与球星回顾
365beat怎么下载

历届世界杯西班牙阵容盘点,经典阵容解析与球星回顾

⌛ 2025-08-28 👁️ 6165
排名前十的招聘app「招人在哪个软件招人最好」
365bet安卓手机客户端

排名前十的招聘app「招人在哪个软件招人最好」

⌛ 2025-09-07 👁️ 3151