ssh - 无法通过 ssh 进入 Google-Engine,循环连接
问题描述
我无法通过 SSH 连接到我的 GCE 实例。我连接没有任何问题,我唯一想改变的是我通过浏览器右上角的用户名然后选择Change Linux Username
。
当我尝试通过浏览器 ssh 进入我的谷歌引擎时,我一直在无限循环中收到以下消息:
当我尝试通过 cloud shell 进行 ssh 时,我还会收到以下错误消息(串行控制台输出):
Permission denied (publickey).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
[Q]有没有办法解决这个问题?由于我现在无法访问引擎,我不知道该怎么办。
解决方案
但是,您始终可以通过串行控制台重新访问,然后从那里您可以在内部对用户/ssh 问题进行故障排除。
1)$ gcloud compute instances add-metadata [INSTANCE_NAME] --metadata=serial-port-enable=1
然后您可以通过串口连接到实例 注意:必须已经设置了 root 密码才能使用串口
2)
$ gcloud compute connect-to-serial-port [INSTANCE_NAME]
如果您从未设置过 root 密码,您可以通过向实例添加启动脚本来设置它,该脚本将通过运行以下命令将密码设置为 root: 注意:必须重新启动实例才能运行启动脚本。
3)$ gcloud compute instances add-metadata [instance name] --metadata startup-script='echo "root:YourPasswdHere" | chpasswd'
重新启动实例,运行步骤“2)”中的命令,使用您在步骤“3)”中在启动脚本中设置的密码以 root 身份验证您的身份。
推荐阅读
- dart - 获取 _InternalLinkedHashMap
' 不是类型 'FutureOr 的子类型 ' - java - 在 Spring Boot 中将实体与有效负载 (dto) 混合 - 最佳实践
- sql-server - 创建一个包含连接信息的配置文件,然后引用该连接
- php - codeigniter 从 insert_batch 的字符串修改数组
- c - 如何在 Raspberry PI 3 上的 C++ 中达到超时后清除 select() 状态
- java - Play Framework For Scala:[类型 BooksController 不是包控制器的成员]
- javascript - mxGraph 库是否适合绘制如下图这样的复杂电气图?
- c# - LINQ 获取序列值
- c# - IAsyncEnumerable 在 C# 8.0 预览版中不起作用
- html - 下拉菜单阻止了我的导航登录表单