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

在IBM Cloud Schematics中使用Ansible连接VSI时SSH连接失败求助

排查IBM Cloud Schematics中Ansible无法SSH连接VSI的问题

针对你遇到的Permission denied (publickey)错误,结合本地能正常连接的情况,以下是具体排查步骤:

1. 核对Schematics使用的SSH密钥与用户配置

  • 确认Schematics作业中指定的SSH私钥是与VSI绑定的公钥对应的私钥:Schematics执行环境独立于本地,不会自动读取本地密钥,需在作业创建时上传正确的私钥,或通过IBM Cloud Secrets Manager关联密钥。
  • 检查Ansible配置中的ansible_user是否与VSI上的登录用户一致(比如本地用ibmadmin,但Schematics默认用root)。报错中的USER_NAME需在VSI上存在,且其~/.ssh/authorized_keys包含对应公钥。

2. 检查Ansible SSH参数配置

在你的playbook或inventory中添加以下参数,确保SSH连接参数正确:

# inventory示例
[vsis]
xxx.xxx.xx.xxx ansible_user=ibmadmin ansible_ssh_private_key_file=/path/to/your/private/key ansible_ssh_common_args='-o StrictHostKeyChecking=no'
  • ansible_ssh_private_key_file:指定Schematics环境中私钥的路径(若通过上传密钥,Schematics会自动挂载到指定路径)。
  • StrictHostKeyChecking=no:避免因主机密钥验证失败导致的连接问题(仅用于排查,生产环境建议保留验证)。

3. 验证Schematics与VSI的网络连通性

  • 确认VSI的安全组规则允许Schematics执行环境的IP段访问22端口:若VSI在私有VPC内,需确保Schematics作业配置了VPC访问权限(如使用VPC peering或指定私有网络执行环境)。
  • 若本地能连但Schematics不能,可在VSI上查看/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(RHEL/CentOS),确认Schematics的IP是否被拒绝。

4. 检查VSI的SSH服务配置

虽然本地能连接,仍需确认以下SSH配置:

  • 查看/etc/ssh/sshd_config:确保PermitRootLogin(若用root用户)或PasswordAuthentication(已禁用,因为用密钥)的配置符合需求,且PubkeyAuthentication yes已开启。
  • 验证VSI上目标用户的权限:~/.ssh目录权限为700,~/.ssh/authorized_keys权限为600,避免因权限过宽导致SSH拒绝密钥认证。

5. 启用Ansible调试日志

在Schematics作业中添加-vvv参数运行ansible-playbook,获取详细的SSH连接日志:

ansible-playbook -vvv your_playbook.yml

通过调试日志可确认Ansible使用的密钥路径、用户、认证尝试步骤,定位具体失败原因。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:53:04