相信大部分的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 key和Private 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
或直接下載:
2. 在Client端(windows上)產中Public Key
使用剛下載好的PuTTYgen
直接點Generate,稍等一下就會出現Public Key
3. 把Client端的Public複制到Server端
放在Server端的這個檔案裡: ~/.ssh/authorized_keys
4. 在Client端使用SSH連線
就是使用Putty啦
但當然這裡需要使用Server端的Private Key