GCP筆記本 #06 在部署的 VM 取得SSH KEY後設置 Gitlab Variables

Vita
May 4, 2023

--

Photo By https://www.pexels.com/

希望達成的效果,由 Gitlab Runner 代為執行部署的行為。

Gitlab Runner(VM) ==SSH KEY==> life-number(VM)

目標:取得SSH KEY

Step1 : SSH 連線至 life-number vm

Step2 : 先去了 life-number vm 產生 ssh key

Step3: ssh-keyhun取得公有key和私有key

Your identification has been saved in /home/ciaochocho/.ssh/id_rsa
Your public key has been saved in /home/ciaochocho/.ssh/id_rsa.pub

目標:取得SSH KEY之後 將VM設置公鑰

Step1 : 確定 life-number vm 有權限輸入以下,這個指令是要設置VM的KEY,給外部資源訪問這台部署的機器。

gcloud compute instances add-metadata life-number --metadata-from-file ssh-keys=.ssh/id_rsa.pub
gcloud compute instances add-metadata ${your-vm-name} --metadata-from-file ssh-keys=${your-public-key}

Step2: 直接打沒有權限的話,可參照以下設置。

  • life-number VM 需要設定 API和身份管理
  • Cloud API 访问权限范围:授予对所有 Cloud API 的完整访问权限

Step3: 此時應該要可以打,成功的話會出現以下。

Format ssh keys following https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys
Updated [https://www.googleapis.com/compute/v1/projects/chrome-frame-380908/zones/asia-east1-b/instances/life-number].這台VM就會有允許別人從外部連入的SSH Key(public Key)

目標:將SSH私鑰 設置於Gitlab CI/CD Variables

接著,要去Gitlab Group設置CI/CD的參數,把參數新增在頁面,再從gitlab-ci.yml取出值。

Step1: 取的私有KEY,於VM打 cat .ssh/id_rsa.pub 。注意!需要連同--- 頭尾等全部內容一起複製才算是完整的。

Step2: 點選 Add Variable 新增,自己命名變數和貼上私有KEY。(如下圖)

設置 Gitlab Variables 後即可在 gitlab-ci.yml 使用

--

--

Vita

網頁前端開發者,一個技術筆記本。