我显然已经将自己锁定在我的一个 Google Compute 实例上,无法使用 ssh

我显然已经将自己锁定在我的一个 Google Compute 实例上,无法使用 ssh

就在昨天,我能够通过本地 ssh 客户端连接到我们的开发实例,使用实例自定义元数据中 sshKeys 下列出的几个 ssh 密钥之一(老式方法)。(“阻止项目范围的 ssh 密钥”已选中)。同样在那天下午,在连接时,我正在做一些需要第二个 ssh 会话的事情。我尝试通过本地 ssh 客户端打开第二个连接,并收到“权限被拒绝(公钥)”的提示。我尝试从实例控制台页面打开第二个连接,但它也无法连接。同时,我使用的 ssh 会话继续正常工作。

今天早上我根本无法在该实例上建立 ssh 会话。

我记得昨天做的唯一一件最不寻常的事情就是在我的主目录上执行 chmod,将其设置为“777”。

我尝试提取 sshKeys 元数据,然后再次尝试控制台 ssh。没有成功。然后我查看了串行端口 1 日志,并注意到了这一点,时间戳显示了我尝试时的大约 GMT:

Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.
Nov 28 21:26:49 bitnami-trac-dm-87ea google-accounts: INFO Removing user <redacted>.

我可以在串行端口上获得密码提示,但据我记忆,我从未为自己设置过密码访问。

答案1

我记得昨天做的唯一一件最不寻常的事情就是在我的主目录上执行 chmod,将其设置为“777”。

这可能就是您被拒之门外的原因。

SSH 守护进程非常谨慎(有充分理由),它会在允许连接之前检查各种权限。如果您的.ssh/authorized_keys文件可由服务器上的其他用户写入,则 SSH 将不允许其中列出的公钥进行传入连接。

(它也会做同样的事情出站如果它检测到您的私钥太可读/可写,则连接。)

相关内容