ubuntu-14.04 – GCE项目范围的SSH密钥没有传播

我在GCE集群中注意到,当我向项目元数据添加SSH密钥时,它会自动添加到/home/[user]/.ssh/authorized_keys.这是我期望的行为(以及我目前正在做的任务的愿望).但是,我在集群中的一台机器根本没有更新authorized_keys文件,无论我是删除项目元数据还是添加项目元数据.我甚至尝试完全删除authorized_keys文件以查看它是否将被重新创建(它不是).

所有服务器都是最新的Ubuntu 14.04,据我所知,只有这一个实例存在问题.它是群集中“最老的”实例,因此在阅读https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#addkey时,我想知道它是否符合以下声明:

If your instance does not support the newer Metadata values,add or remove the older instance-only sshKeys value that applies your key only to a specific instance and also blocks all project-wide keys when the value is set.

但是我删除了只有sshKeys的实例,问题仍然存在.在我摧毁之前的任何想法&重新创建图像以确保我能够使用“新”元数据?

首先,确保您的VM实例可以与元数据服务器通信,并且可以读取项目范围的sshKeys值.要验证这一点,请连接到VM并运行以下命令:
curl http://Metadata.google.internal/computeMetadata/v1/project/attributes/sshKeys -H "Metadata-Flavor: Google"

该命令的输出应该是您已添加到项目元数据中的SSH密钥.
如果命令无法与元数据通信,则表示内部防火墙会阻止VM与元数据服务器之间的通信.

如果通信成功并且您可以读取sshKeys的值,那么您应该验证帐户管理器守护程序是否正在运行.在Ubuntu 14.04中,守护程序脚本位于:

/usr/share/google/google_daemon/manage_accounts.py

使用以下命令验证其运行状态:

sudo ps aux | grep manage_accounts.py

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...