使用ssh连接h3c堡垒机服务器
引言
公司正式环境使用了H3C
的堡垒机,因此在查看正式数据时需使用对应的堡垒机客户端Tgent
之前公司还使用过Vone
客户端连接到堡垒机;
这些堡垒机以我的经验来看都使用的是ssh tunnel
技术
这一点可以在我使用ssh -J
命令的报错得到印证
1 |
|
堡垒机(B)登录需要三组IP和用户名密码
S: 堡垒机外网入口 零信任 Tgent
IP,即为VPN
服务地址假设 200.0.0.0
S1:堡垒机登录IP ,即实际管理内网资源的服务网站,IP假设为:10.0.0.0
B:需要访问的正式服务器内网地址,假设为:192.168.10.0
客户端C连接目标服务器B的数据流转图大概如下:
graph LR
C-- "Tgent连接" --->S;
S-- "Tgent连接" --->C;
S-- "内网访问" --->S1;
S1-- "内网访问" -->S;
S1--"SSH Tunnel" -->B;
B--"SSH Tunnel" --->S1;
解决方案
C到S的Tgent
连接的用户密码登录是必输的
在进入内网后S到B的连接可直接通过命令简化,本文主要介绍一般登录及简化步骤
操作步骤
所需工具
VPN
客户端Tgent
- 数据审计工具
AccessClient
此工具在帮助页面下载 SSH
客户端xshell
正常GUI登录过程
- 打开
Tgent
,输入控制器地址200.0.0.0
,然后输入用户名密码登录 - 登录后即可在
门户
中查看到账号的堡垒机,点击后进入H3C
运维审计系统10.0.0.0
,同样输入用户名密码登录 - 登录后点击访问资产,此处浏览器会提示安装
AccessClient
客户端
安装完成后点击资产右侧的访问,选择方式开启
ssh
客户端根据服务端设置可能需要使用不同的客户端,开启成功后输入对应的密码即可正常使用
PS:异常情况请查看最后的常见问题
Xshell一键登录步骤
通过查看AccessClient
打开的SSH
客户端的启动命令"C:\Program Files\VanDyke Software\SecureCRT\securecrt.exe" /T /N root@xxx-aaa /ssh2 10.0.0.0 /P 122 /L account_10.0.0.0 /PASSWORD OTP:OtmBXhl3chsq
,即可了解其作用原理;经分析尝试后得出以下简化登录方法
从页面点击启动的AccessClient
会启动服务端设定的SSH
客户端,假如本地没有安装则无法连接服务器
实际使用时,只要支持SSH2
协议即可连接
- 使用
SSH
客户端连接堡垒机服务S1
,目标10.0.0.0
端口根据AccessClient
启动的SSH
客户端命令确定,我这里为122,启动命令可在任务管理器中确定;用户名密码为S1
的用户名密码
- 登录堡垒机的
SSH
成功后可查看到当前用户可管理的资产,使用数字切换服务和登录名
这里显示乱码,但不影响使用
- 输入完成再输入目标服务器
B
的用户名密码即可登录成功
这是交互式切换登录,实际使用可以用xshell
的Login Scripts
帮助一键登录
Login Scripts
是SSH
连接建立好后立即执行的脚本,我这里输入的是5
,3
和登录密码
这样即可自动选择资产,选择登录用户以及自动登录;假如部分操作反应慢,可以添加Expect
文本,比如期望Last Login
文本出现后(登录成功后),再输入其它命令,比如登录数据库
常见问题
在访问资产页面点击
访问
无任何反应需要安装帮助页面的
AccessClient
,然后重启浏览器点击
访问
后弹出了一个文件选择的框此现象表面本地没有对应的客户端,可以根据选择的客户端名字,网上下载对应程序安装后重试
弹出的的文件选择错误导致无法启动
SSH
客户端弹出的文件路径选择后
AccessClient
会将路径保存到注册表中,需要修改注册表才能正常运行;注册表路径在日志文件中有记录;AccessClient
日志文件位置为:C:\Users\[用户名]\AppData\Local\Temp\AccessClient.log
;打开后会看到这样的日志:find path, key: Software\Microsoft\Windows\CurrentVersion\App Paths\securecrt.exe
;因此在注册表的Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\securecrt.exe
中添加正确的路径即可