在現有的 GCE linux 主機上設定 SFTP 的方式

GCE執行個體詳細資訊

由於 Google Compute Engine(GCE),不像是 Amazon EC2 可以直接下載目前使用的 key 進行 SFTP 連線,根據 Google 官方文件設定,會需要先新增一組 key 到 instance,隨後再將 private key 加入到 filezilla 中,便可進行 SFTP 連線。

先準備好 GCP 的 Compute Engine 主機

目前是以 CentOS7 的 linux 主機進行示範,也就是用以下的設定值所建立的 Compute Engine 執行個體:

GCP GCE執行個體建立

使用 puttygen 產生key

下載 puttygen 以產生一組 key,產生完後可以分為 public key 與private key,public key 要加入到 instance,而 private key 則要在電腦上留存。

詳細的步驟說明

1.開啟 puttygen.exe,下方選取 SSH2 RSA

puttygen.exe 設定

2.點選「Generate」進行金鑰生成,請快速移動您的滑鼠游標

putty Generat

3.生成完畢後在 comment 的地方輸入您想要指定的使用者名稱,以此例為coder

key comment

4.複製 public key 的全部內容,以將其加入 Compute Engine Instance

copy public key

5.複製後請先點選「Save private key」儲存在電腦上

Save private key

6.未設置密碼的 private key 會跳出以下視窗,此例以不設密碼為主,按 yes 後即可儲存檔案到電腦

private warming

7.存檔時請自行加上副檔名 ppk,後續在 filezilla 使用時也會比較方便

Save private key as ppk

將 key 加入 instance

1.回到 GCP 的管理後台(Web console),切換到 Compute Engine 的執行個體列表

Web console

2.左鍵點擊想要用 FTP 連線的主機

connect ftp sever

3.點選「編輯」,加入我們剛剛產生的 key

edit vm

4.往下到 SSH 金鑰的地方,點選「顯示與編輯」

vm 執行個體顯示與編輯調整圖例

5.點擊後,在出現的空格中直接貼上剛剛複製的public key

貼上public key

6.點擊儲存

儲存 public key

安裝 filezilla

1.下載安裝程式

我們先到 filezilla 的官網下載最新版本的 filezilla,一進首頁會看到兩種版本可以下載,選擇 filezilla client。

download filezilla

2.點擊後請選取 windows(64-bit)

download filezilla foe windows

3.下載完執行安裝程式,點選「I Agree」同意使用者規範

I Agree privacy policy

4.安裝設定,用預設值即可

filezilla setup

5.安裝目錄選擇,用預設值即可

filezilla setup-2

6.建立開始功能表,也是預設值

filezilla setup-3

7.安裝中

安裝中

8.安裝成功,按 Finish 後會自動開啟 filezilla

finish

新增 FTP 站台

1.請先開啟 filezilla

開啟 filezilla 介面

2.點擊左上角的站台管理員

filezilla 管理界面

3.會出現這樣子的畫面,再點選新增站台

至站台管理員新增站台

新增站台確認

4.可以自己取一個名字,自己看得懂就可以,以 GCP 為例

rename

5.右側為連線設定值,需要比對 GCP 上的 IP

GCP IP

6.主機的格子輸入 VM 的外部 IP,以此例來說是 35.184.223.65

外部IP新增

IP

7.修改連線協定為 SFTP

SFTP協定設定

8.登入型式選金鑰檔案

金鑰檔案

9.使用者名稱輸入當初建立 Key 的使用者名稱,此例為 coder

user name

10.金鑰檔案透過瀏覽,選擇先前建立的 ppk 檔案

ppk

11.設定確認都對的話就按連線試試看吧

連線嘗試

12.第一次從 FileZilla 連線到一台主機的時候都會出現這樣的訊息:

建議使用總是信任並加入快取,萬一之後有人更換這個 IP 上的主機,就會跳出警告訊息提醒你主機有被更換,因為主機的指紋不一樣了。現在先按確認就可以。

未知的主機金鑰示意圖

13.若沒有問題的話在右側的遠端站台就會看到 VM 中的資料夾

恭喜恭喜!這樣就可以成功透過 SFTP 連線到 GCP 上的 Linux 主機,可以方便地進行檔案上傳下載以及修改了。

由於有建立站台,所以下次連線的時候直接到站台管理員,選擇 GCP,再按連線就可以成功連線了,不需要每次連線重新設定一次。