在云环境中添加用户或SSH密钥后,SSH访问被拒绝
在连接到云基础架构环境上的Adobe Commerce时,即使在授予访问权限或添加SSH密钥后,SSH访问也会失败。 在部署成功完成之前,环境不会反映更新的访问或SSH密钥更改。 要解决此问题,请重新部署环境以应用访问和SSH更新。
描述 description
环境
云基础架构上的Adobe Commerce(所有受支持的版本)
问题/症状
-
即使在授予对项目或环境的访问权限后,云基础架构环境上的特定Adobe Commerce的SSH连接也会失败。
-
在帐户中添加或更新SSH公钥后,SSH连接失败。
-
在SSH尝试过程中出现以下错误:
code language-none The service doesn't exist or you do not have access to it. Permission denied (publickey). -
SSH连接适用于一个环境,但无法用于同一项目中的另一个环境。
根本原因
在云基础架构上的Adobe Commerce中,添加用户或更改SSH公钥不会自动应用更改。 要安装新的SSH访问配置,必须成功重新部署目标环境。 如果在访问或SSH密钥更改后未成功重新部署目标环境,则SSH访问会失败,并出现权限被拒绝(publickey)错误。
解决方法 resolution
请按照以下步骤解决问题:
-
要求项目管理员确认用户具有目标环境所需的访问级别。
-
确认用户已在云基础架构帐户上向其Adobe Commerce添加了正确的SSH公钥。
-
如果在项目上启用了MFA进行SSH访问,请确认用户已完成所需的MFA/TFA设置。
-
要求项目管理员查看Cloud Console中受影响环境的部署历史记录。
- 如果最近授予或更改了用户访问权限,请要求项目管理员重新部署受影响的环境,以应用访问权限更改。
- 如果最近添加或更新了SSH公钥,请重新部署所有活动环境,以便安装密钥。
-
等待重新部署成功完成。
-
在Cloud Console中,使用针对该环境显示的确切SSH命令重试SSH连接。
-
如果SSH仍然失败,请验证本地计算机使用的私钥是否与上载到帐户的公钥匹配。
如果SSH在成功重新部署后仍然失败:
- 验证您是否在Cloud Console中使用针对该环境显示的SSH命令。
- 验证本地系统是否使用与配置的SSH公钥关联的匹配私钥。
使用magento-cloud CLI验证访问
如果您无法在Cloud Console中确认访问权限,请使用magento-cloud CLI验证您的角色分配。 安装CLI并登录后,run magento-cloud user:get.
如果您与多个项目相关联,请在出现提示时选择所需的项目。 也可以从本地项目目录运行命令,以便CLI自动使用当前项目。 该命令会返回您的项目角色和环境类型角色。 例如:
Current role(s) of User (user@example.com) on Project Name (project_id):Project role: viewerRole on environment type development: [ none] Role on environment type production: [ none] Role on environment type staging: [ none]
在此输出中:
Project role: viewer indicates view-only project access.Role on environment type ...: [ none]表示对这些环境类型没有访问权限。- 通过这种组合,用户无法执行环境操作或对这些环境类型使用SSH。
对于云基础架构上的Adobe Commerce,只有 管理员 和 参与者 角色提供SSH访问。 查看者和无权访问。
如果输出显示访问权限不足,请联系项目管理员以请求所需的环境权限。