Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动为其他用户创建/生成SSH密钥对_Ssh_Automation_Gcloud_Google Compute Engine - Fatal编程技术网

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

自动为其他用户创建/生成SSH密钥对,ssh,automation,gcloud,google-compute-engine,Ssh,Automation,Gcloud,Google Compute Engine,我正在尝试自动化订购linux实例的过程,并在实例级别处理ssh密钥 是否可以使用gcloud命令行为另一个用户生成ssh密钥文件(无需ssh即可自动生成密钥) 对于Windows实例,它如下所示: 我自动创建实例 我自动为windows实例生成windows密码 我通过电子邮件将新生成的密码发送给请求用户 对于Linux: 我已经自动创建了linux实例 但是我接下来要做什么来为另一个特定用户名生成ssh密钥,以便我可以在电子邮件中附加到请求用户。用户无权访问GCE仪表板 使用AWS很简单,因

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

是否可以使用gcloud命令行为另一个用户生成ssh密钥文件(无需ssh即可自动生成密钥)

对于Windows实例,它如下所示: 我自动创建实例 我自动为windows实例生成windows密码 我通过电子邮件将新生成的密码发送给请求用户

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

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

救命啊


谢谢

请查看的说明,总结如下:

$ # 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私钥时要小心。

嗨,扎卡里,谢谢您的回答。我忘记提到的是,我正在Windows服务器上运行gcloud sdk(和PowerShell cmdlet),而不是Linux。当通过安装后的winkeygen.exe从gcloud命令进行SSHing时,似乎所有内容都会自动生成。但文档并没有说明如何手动使用它。生成ssh密钥时是否需要使用~\.ssh\google\u计算引擎(windows中的C:\Users[USER\u NAME]\.ssh\google\u计算引擎)?我很困惑:
C:\Users[USER\u NAME]\.ssh\google\u计算引擎
是ssh密钥。当您生成SSH密钥时,如何使其可用?是的,我不理解这个SSH密钥。这个SSH密钥是项目范围的密钥吗?当我在自动化中创建linux实例时,我需要一个只对该实例有效的特定密钥。因此,我可以将SSH密钥发送给请求用户。我不是SSH/Certificates中的导出,请耐心等待我:)