在Google Cloud platform(GCP)上建立外部SSH連線

相信大部分的VPS在新增了VM之後都已經可以透過帳號和密碼進行外部SSH連線,但我所使用的VPS是Google Cloud platform(GCP),它默認的連接方式是使用SSH密鑰進行連線,因此我們需要進行一些設置讓我們可以透過外部進行SSH連線。

本章目的

GCP原本的連接方式: 登錄GCP後台,進行SSH密鑰連線

我想要的連接方式: (使用putty或其他工具)

由於我不想每次都在登錄GCP後台,所以這裡記錄一下我的做法

1.先建立sudo user

adduser username
passwd username
usermod -aG sudo username
su - username #切換user

為了安全性問題,所以創建一個用以外部SSH連線的帳號(root帳號我未試過)

2.在Server端產生一組加密鑰匙

也就是Public keyPrivate key

我是在剛新增的user帳號下進行產生

ssh-keygen -t rsa

公鑰位置: ~/.ssh/id_rsa.pub

私鑰位置: ~/.ssh/id_rsa

3.把Public key放到GCP後台的中繼資料

複製Public key 在GCP後台->Compute Engine->中繼資料

新增SSH鑰匙(Public key)

待驗證另一方法: 直接手動在~/.ssh/authorized_key 加入public key內容

圖文教學可以看ivan’s blog - [Google Cloud Platform(GCP)] SSH 連線到 VM(虛擬機器)

4.在Client端進行連線

Client for Mac:

Mac的部分比較簡單,只要把server所產的private key放在mac上的~/.ssh/目錄裡,就可以進行連線

ssh -i ~/.ssh/id_rsa user@123.123.123.123

我估計Linux應該也是一樣吧?

Client for Windows:

Windows部分會有一點麻煩:

1. 需要同時下載PuTTY同PuTTYgen

PuTTY的官方網址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

或直接下載:

PuTTY(64-bit)下載

PuTTYgen(64-bit)下載

2. 在Client端(windows上)產中Public Key

使用剛下載好的PuTTYgen

直接點Generate,稍等一下就會出現Public Key

3. 把Client端的Public複制到Server端

放在Server端的這個檔案裡: ~/.ssh/authorized_keys

4. 在Client端使用SSH連線

就是使用Putty啦

但當然這裡需要使用Server端的Private Key