You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Guacamole API生成的SSH直连URL连接Linux虚拟机

Guacamole API生成SSH直连URL连接失败问题

需求与问题

需要通过Guacamole API生成SSH直连URL,让用户通过浏览器访问Linux虚拟机。按以下步骤操作后,生成的URL在浏览器中始终处于等待状态无法连接,但Guacamole控制台可正常连接该虚拟机。

操作步骤

步骤1:创建SSH连接并生成JSON配置

在Guacamole中创建connectionId为287的SSH连接,生成如下JSON配置:

{"username":"","expires":1716440632,"connections":{"287":{"protocol":"SSH","parameters":{"hostname":"IP OF MY LINUX MACHIE","port":"22","username":"USER","password":"PASSWD"}}}}

步骤2:加密JSON配置

使用加密脚本和密钥4C0B569E4C96DF157EEE1B65DD0E4D41加密上述JSON:

./encrypt-json.sh 4C0B569E4C96DF157EEE1B65DD0E4D41 auth.json

步骤3:获取authToken

发送curl请求获取令牌:

curl --location 'https://{baseUrl}/api/tokens' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'data=Xirte6W6mrr+a1XyyNH8qgt+LRiyzCy6nckw4KvnXE0/kRjUs3mZj0S6ZctrRr3MPULGmqyGMEC4gHWMtReGTdHB+AboJ9CfdqUa3o7LCQbmGigDO9Hd/tQ08gTkQkCPkDYky6We+AYDSZeg/HLtFVoqGOwPOwAaeygmLYlkyCvq9GgMbAVKzqS59sZOqtTRJi7LYSAiOexYM/LKUUrwO47xbYrLKjIhp4amA5WlhuZIxRMDUcQDr1292Wd/Hzx9TTTzQxshI1hWJMdEq6xNsu3ksvGMVBeXm5mheqe31rBJ+2qUHnlzVyAAB90ieNzWnC1hwhcA0TfvVlrmOOog/gipKDknEhPp1K900e8iP1/8JLUHxXeKhtS8AQGim1j1D33wlG+Ey0TSItmLhiJ/FXIKhEpkql1Zo'

返回结果:

{
  "authToken": "F0060F333BBAF137B927E42C4AFDD5032FE3E7706EBDFC55286CCBC59D0CFCE9",
  "username": "administrator",
  "dataSource": "json",
  "availableDataSources": [
    "postgresql",
    "postgresql-shared",
    "json"
  ]
}

步骤4:拼接直连URL

将authToken作为参数拼接成URL:

https://{baseUrl}/guacamole/#/?token=F0060F333BBAF137B927E42C4AFDD5032FE3E7706EBDFC55286C

排查与解决建议

  • 确保authToken完整:步骤4中的token被截断,必须使用步骤3返回的完整authToken(F0060F333BBAF137B927E42C4AFDD5032FE3E7706EBDFC55286CCBC59D0CFCE9),部分令牌会导致验证失败。
  • 修正加密data参数格式:curl请求中的data值不能有换行,必须是连续的Base64字符串,换行会导致参数传递不完整。
  • 验证JSON配置有效性:
    • 替换hostname占位符为Linux虚拟机的真实IP
    • 检查expires时间戳是否在当前时间之后,过期令牌无法使用
  • 确认密钥一致性:加密用的密钥必须和Guacamole服务器guacamole.properties中json-auth-secret配置完全一致,大小写、长度均不能出错。
  • 检查网络与权限:
    • 确认浏览器所在网络可访问Guacamole服务器及Linux虚拟机的22端口
    • 在Guacamole服务器上手动执行ssh USER@真实IP测试连通性,确保服务器有权限连接目标虚拟机SSH服务

内容的提问来源于stack exchange,提问作者Manish Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:43:20