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

Ubuntu环境下Guacamole用私钥连接Oracle Cloud实例失败求助

解决Guacamole连接Oracle Cloud Linux实例的私钥登录问题

一、修正私钥文件权限

SSH和Guacamole对私钥权限要求极高,必须限制为仅所有者可读:

  • 将Oracle Cloud下载的私钥文件(如oci_key.pem)上传到Ubuntu服务器的/etc/guacamole/keys/目录(没有就新建)
  • 执行命令修改权限:
    chmod 600 /etc/guacamole/keys/oci_key.pem
    chown guacd:guacd /etc/guacamole/keys/oci_key.pem
    
    (guacd是Guacamole的运行用户,确保它拥有私钥的读取权限)

二、核对Guacamole SSH连接配置

在Guacamole的连接编辑页面,确认以下配置项:

  • 主机名/IP:填写Oracle Cloud实例的公网IP或预留域名
  • 端口:默认22,若修改过SSH端口则填对应值
  • 认证方式:选择「SSH密钥」
  • 私钥:直接粘贴私钥文本内容,或填写私钥文件的绝对路径(如/etc/guacamole/keys/oci_key.pem)
  • 用户名:Oracle Cloud实例的默认用户名,Ubuntu实例为ubuntu,Oracle Linux实例为opc,切勿填错

三、检查Oracle Cloud实例的SSH相关设置

  1. 网络权限:登录Oracle Cloud控制台,进入实例对应的安全列表/网络安全组,确保入站规则允许22端口的TCP流量,来源包含你的Guacamole服务器公网IP
  2. SSH服务配置:通过Oracle控制台的「串行控制台」登录实例,检查/etc/ssh/sshd_config文件:
    • 确认PubkeyAuthentication yes已开启
    • 确认AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2配置正确
    • 执行命令重启SSH服务:sudo systemctl restart sshd

四、本地测试SSH连接(排查Guacamole无关问题)

在你的Ubuntu服务器上直接执行SSH命令,验证连接是否正常:

ssh -i /etc/guacamole/keys/oci_key.pem opc@<Oracle实例公网IP>
  • 若提示Permission denied (publickey):检查私钥是否匹配、用户名是否正确,或通过串行控制台将私钥公钥添加到实例的~/.ssh/authorized_keys文件中
  • 若提示Connection timed out:重点检查Oracle实例的安全组/防火墙是否开放22端口

内容的提问来源于stack exchange,提问作者Umesh Kandhalu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:35:19