GCP VMs + ssh / config文件

时间:2018-03-28 07:37:49

标签: google-cloud-platform ssh-config

GCP在gcloud,云外壳和本地机器云SDK中提供多种ssh-ing方式。

虽然所有这些选项都很棒并且我一直在使用它们,但我通常更喜欢使用.ssh / config来缩短登录计算机的过程。

例如,对于EC2,您只需添加:

updated_at

有没有办法为GCP VM复制这个?

由于

2 个答案:

答案 0 :(得分:1)

根据This Doc

  

如果您已通过gcloud工具连接到实例,则您的密钥已生成并应用于您的项目或实例。密钥文件位于以下位置:

     
      
  • Linux和macOS      
        
    • 公钥:$ HOME / .ssh / google_compute_engine.pub
    •   
    • 私钥:$ HOME / .ssh / google_compute_engine
    •   
  •   
  • 视窗      
        
    • 公钥:C:\ Users [USERNAME] .ssh \ google_compute_engine.pub
    •   
    • 私钥:C:\ Users [USERNAME] .ssh \ google_compute_engine
    •   
  •   

您可以使用典型-i.ssh/config配置文件中的密钥。

或者只是做

ssh-add ~/.ssh/google_compute_engine

将身份添加到您的ssh代理。

PS>我见过人们为ssh命令创建一个别名,比如

alias gce='gcloud compute ssh'

答案 1 :(得分:0)

如果您要SSH到谷歌云项目的其他实例(从Mac或Linux),请执行以下操作:

第1步。安装不带密码的SSH密钥

使用以下命令在Mac上生成密钥

ssh-keygen -t rsa -f ~/.ssh/<private-key-name> -C <your gcloud username>

例如private-key-name可以是bpa-ssh-key。它将使用以下命令创建两个文件 ~/.ssh目录中的以下名称

  1. bpa-ssh-key
  2. bpa-ssh-key.pub

第2步。更新GCP项目上的公钥

转到Google Cloud Console,选择您的项目,然后

VMInstances-> Metadata-> SSH Keys-> Edit-> Add Item

在此处剪切并粘贴bpa-ssh-key.pub的内容(来自Mac),然后保存

重置VM实例(如果正在运行)

第3步。在Mac上config下编辑~/.ssh文件      编辑~/.ssh/config以添加以下行(如果尚不存在)

Host *
PubKeyAuthentication yes
IdentityFile ~/.ssh/bpa-ssh-key

第4步。SSH到GCP实例

ssh username@gcloud-externalip

它应该在gcloud实例上创建SSH shell而不要求输入密码(因为您已经创建了没有密码的RSA / SSH密钥)。

由于元数据在同一项目下的所有实例之间都是通用的,因此您可以通过选择gcloud实例的相应外部IP,将SSH无缝缝入任何实例。