为其他用户自动创建/生成SSH密钥对

时间:2017-01-24 21:28:06

标签: ssh automation gcloud google-compute-engine

我正在尝试自动化订购Linux实例的过程,并在实例级别处理ssh密钥。

是否可以使用gcloud命令行为其他用户生成ssh密钥文件(不对其进行ssh,即自动生成密钥)。

对于Windows实例,它看起来像这样: 我自动化实例创建 我自动生成Windows实例的Windows密码 我将新生成的密码通过电子邮件发送给请求用户

对于Linux: 我已经自动创建了linux实例 但是我接下来要做什么为另一个特定用户名生成一个ssh密钥,以便我可以在电子邮件中附加给请求用户。用户无权访问GCE仪表板。

使用AWS非常简单,因为我在实例之前创建了密钥并且可以附加这些密钥,但是不知道如何用GCE解决这个自动化问题。

帮助?!

由于

1 个答案:

答案 0 :(得分:0)

请查看"Adding and Removing SSH Keys"的说明,在此汇总:

$ # Creating a new SSH key-pair with the correct format (`USERNAME` is your Google username
$ ssh-keygen -t rsa -f ~/.ssh/[KEY_FILE_NAME] -C [USERNAME]
$ # Edit the file. It should look like the following line:
$ # [USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]
$ vim ~/.ssh/[KEY_FILE_NAME]
$ # Get the existing metadata for the instance:
$ gcloud compute instances describe [INSTANCE]
$ # Look for the "metadata" -> "ssh-keys" entry and merge your new SSH key in.
$ vim all_keys.txt  # This is where the merged key list goes
$ gcloud compute instances add-metadata [INSTANCE_NAME] \

- 元文件来自文件ssh-keys = all_keys.txt

该链接包含用于添加到期时间,将密钥添加到整个项目,阻止项目范围的密钥处理实例,使用云控制台而不是gcloud,在Windows上执行此操作等的高级说明。

尽管如此,我建议您在通过电子邮件发送SSH私钥时谨慎使用。