2017年4月30日

Linux 與 Mac 使用者如何透過終端機 ssh 登入 GCP

以下是 Linux 以及 Mac 使用者透過終端機 ssh 登入 GCP instance 的方法:

  1. 使用終端機建立 ssh keys,其中 [USERNAME] 輸入你登入 gcp instance 時要用的 linux username。gcp 機器沒這帳號時會他會自動建立。

    輸入指令,然後按兩次確定:
    ssh-keygen -t rsa -f ~/.ssh/my-ssh-key -C [USERNAME]
    
    範例:
    ssh-keygen -t rsa -f ~/.ssh/mayer-gcp-key -C mayer
  2. 改 private key 權限

    chmod 400 ~/.ssh/mayer-gcp-key
  3. 使用 cat 看 public key,然後把 cat 出來的內容完全複製:

    cat ~/.ssh/mayer-gcp-key.pub
    
    ssh-rsa xxxxxxxxxxxxxxxxxxxxAQABAAABAQDcO7K0z/etx95xbVG10ttgmuwnlyRuDu0LgoTU0X/RGsIhm3kaQxxxxxxxxxxxxxxxxxxxUWOC0L9RAO0+bQI36DY2XiubrbwzrfrkMk6o40u1lCVg5H/cFaTlkyyyyyyyyyyyyyyyyyyyyyyyyyORbQ8E8bBgSV/AlJqV/Qnm0z4Rp3ezAngI77I9GtbEgKxa7pHtRFf/YA99frvLYFVLh94sWDVijx6oKEp/emteL5ham6hZmPVe181Q9+hU8wfUNlAKDE8ZdJ+QC3hkSzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz7AL+Xp6u3epX1Hc+NgeEhtqnJ6ijmP mayer
  4. 到中繼資料(metadata)頁面,把複製出來的公鑰加到 SSH 金鑰上。如何進入中繼資料設定頁面請參考官網 - Setting instance metadata

  5. 接著就可以透過終端機使用 ssh 登入,ip 請到 VM 執行個體,看機器的 External IP。

    ssh -i ~/.ssh/mayer-gcp-key [USERNAME]@x.x.x.x
  6. 可以把上述指令加到 ssh config 內加快登入流程:

    vi ~/.ssh/config
    
    Host gcp1
      HostName x.x.x.x
      User mayer
      IdentityFile ~/.ssh/mayer-gcp-key
    
    設定完之後就能直接使用 hostname 登入
    ssh gcp1
  7. 登入 GCP 機器之後,使用者身份會是你的 [USERNAME]。要將使用者切換成 root,使用以下指令:

    sudo -s

    參考:

Connecting to Linux Instances