首页 > 解决方案 > 无法连接到 google 实例“google-accounts:调用响应处理程序的错误异常”。

问题描述

无法从浏览器或终端通过 SSH 连接到实例。串口错误显示:

google-accounts: ERROR Exception calling the response handler. [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/'].#012Traceback (most recent call last):#012 File "/usr/lib/python3/dist-packages/google_compute_engine/metadata_watcher.py", line 200, in WatchMetadata#012

我还尝试将磁盘空间从 10gb 增加到 20gb 标准永久性磁盘并重新启动实例。但没有运气。我还尝试通过从快照创建新实例,这也不允许我通过 ssh 连接到该实例。还尝试将 IAM 角色更改为所有者。

来自终端的错误说:

Authentication failed: Exhausted available authentication methods

任何帮助将非常感激。

提前致谢。

标签: google-cloud-platformsshgoogle-compute-engineubuntu-18.04

解决方案


由于您没有对实例的 SSH 访问权限,您可以在串行控制台中调试问题,您可以按照此文档为特定实例启用串行控制台访问,一旦启用访问,请按照本指南连接到串行端口.

您可以尝试以下故障排除步骤:

  1. 重启实例

使用最新版本公共映像的实例可以在系统重启后自动调整其分区和文件系统的大小。

  1. 检查您的防火墙规则

在本地工作站上,运行以下命令:

gcloud compute firewall-rules list

如果缺少防火墙规则,请将其添加回来:

gcloud compute firewall-rules create default-allow-ssh --allow tcp:22
  1. 以其他用户身份连接

阻止您登录的问题可能仅限于您的用户帐户。例如,可能未为用户正确设置实例上 ~/.ssh/authorized_keys 文件的权限。

通过在 SSH 请求中指定另一个用户名,尝试使用 gcloud 工具以其他用户身份登录。gcloud 工具会更新项目的元数据以添加新用户并允许 SSH 访问。

gcloud compute ssh another-username@$PROB_INSTANCE
  1. 检查可用空间

要检查空间(磁盘使用情况),只需在终端上运行命令

    df -h

将列出磁盘使用情况并获得类似的输出

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda5        28G   15G   12G  58% /

如果root(mounted on /)使用率为100%,则需要清理tmp目录或重启机器,在root上腾出一些空间。

  1. 分离磁盘并将其附加到新实例

您可以使用以下 gcloud 命令分离引导磁盘,然后将该磁盘作为辅助磁盘附加到新实例上:

gcloud compute instances delete $PROB_INSTANCE \
    --keep-disks=boot 

gcloud compute instances create new-instance \
    --disk name=$BOOT_DISK,boot=yes,auto-delete=no 

gcloud compute ssh new-instance

或者您也可以按照本指南使用控制台执行相同操作。


推荐阅读