由於 Google Compute Engine(GCE),不像是 Amazon EC2 可以直接下載目前使用的 key 進行 SFTP 連線,根據 Google 官方文件設定,會需要先新增一組 key 到 instance,隨後再將 private key 加入到 filezilla 中,便可進行 SFTP 連線。
先準備好 GCP 的 Compute Engine 主機
目前是以 CentOS7 的 linux 主機進行示範,也就是用以下的設定值所建立的 Compute Engine 執行個體:
使用 puttygen 產生key
下載 puttygen 以產生一組 key,產生完後可以分為 public key 與private key,public key 要加入到 instance,而 private key 則要在電腦上留存。
詳細的步驟說明
1.開啟 puttygen.exe,下方選取 SSH2 RSA
2.點選「Generate」進行金鑰生成,請快速移動您的滑鼠游標
3.生成完畢後在 comment 的地方輸入您想要指定的使用者名稱,以此例為coder
4.複製 public key 的全部內容,以將其加入 Compute Engine Instance
5.複製後請先點選「Save private key」儲存在電腦上
6.未設置密碼的 private key 會跳出以下視窗,此例以不設密碼為主,按 yes 後即可儲存檔案到電腦
7.存檔時請自行加上副檔名 ppk,後續在 filezilla 使用時也會比較方便
將 key 加入 instance
1.回到 GCP 的管理後台(Web console),切換到 Compute Engine 的執行個體列表
2.左鍵點擊想要用 FTP 連線的主機
3.點選「編輯」,加入我們剛剛產生的 key
4.往下到 SSH 金鑰的地方,點選「顯示與編輯」
5.點擊後,在出現的空格中直接貼上剛剛複製的public key
6.點擊儲存
安裝 filezilla
1.下載安裝程式
我們先到 filezilla 的官網下載最新版本的 filezilla,一進首頁會看到兩種版本可以下載,選擇 filezilla client。
2.點擊後請選取 windows(64-bit)
3.下載完執行安裝程式,點選「I Agree」同意使用者規範
4.安裝設定,用預設值即可
5.安裝目錄選擇,用預設值即可
6.建立開始功能表,也是預設值
7.安裝中
8.安裝成功,按 Finish 後會自動開啟 filezilla
新增 FTP 站台
1.請先開啟 filezilla
2.點擊左上角的站台管理員
3.會出現這樣子的畫面,再點選新增站台
4.可以自己取一個名字,自己看得懂就可以,以 GCP 為例
5.右側為連線設定值,需要比對 GCP 上的 IP
6.主機的格子輸入 VM 的外部 IP,以此例來說是 35.184.223.65
7.修改連線協定為 SFTP
8.登入型式選金鑰檔案
9.使用者名稱輸入當初建立 Key 的使用者名稱,此例為 coder
10.金鑰檔案透過瀏覽,選擇先前建立的 ppk 檔案
11.設定確認都對的話就按連線試試看吧
12.第一次從 FileZilla 連線到一台主機的時候都會出現這樣的訊息:
建議使用總是信任並加入快取,萬一之後有人更換這個 IP 上的主機,就會跳出警告訊息提醒你主機有被更換,因為主機的指紋不一樣了。現在先按確認就可以。
13.若沒有問題的話在右側的遠端站台就會看到 VM 中的資料夾
恭喜恭喜!這樣就可以成功透過 SFTP 連線到 GCP 上的 Linux 主機,可以方便地進行檔案上傳下載以及修改了。
由於有建立站台,所以下次連線的時候直接到站台管理員,選擇 GCP,再按連線就可以成功連線了,不需要每次連線重新設定一次。