Home 網路技術與應用網際網路相關 GCP VM執行個體使用PuTTY SSH登入教學

在「如何架出安全性較高的網站?」一文中,我有介紹了一門Udemy的非常讚的架站教學課程「The Perfect Nginx Server – Ubuntu Edition」,在這門課程中,因為作者和我們使用的平台,會有略為不同,所以這部份的門檻,就要靠自己去跨越。

使用SSH登入VPS

這個是第一個門檻,因為作者所示範的VPS環境是「Vultr」,但我使用的是「GCP」,所以首先就要解決使用SSH登入VPS的問題,當然不是說Vultr不好,但如果受眾是台灣人的網站或服務,網站還是架在當地,連接的速度真的差很多,像Vultr的主機,離我們最近的是韓國、日本、新加坡,所以其實也都不怎麼合適。

但你還是可以當成練習來使用,作者也都有提供100美元(好像)的試用額度,

而我為什麼選擇GCP,因為他是Google,而且場地在彰化,最重要的是,大家都跳電斷網時,他們不會跳電,網路也不會中斷。

在GCP的虛擬機器管理頁面中,我們可以透過瀏覽器來開啟SSH連線,如下圖:

這樣雖然可以,但連線的方式太慢,這適合用在最終無法連進虛擬機器時的解決方式,而我們平常最理想的連接方式,還是使用「PuTTY」這個小工具程式來連線,連接速度才快。

現在在網站上找到的相關資訊,因為GCP一直在改版,所以這些文章其實都有點不適用了,不僅畫面不同,連能不能跟著做操作完都有問題。

所以現在2022年,我針對目前可以成功的方式,重新講解一次要怎麼做。

首先,先去下載「PuTTY」,在「PuTTY下載」頁面中,根據自己的作業系統平台,點擊該項目,例如我是使用Windows 11,我就點「64-bit x86」這個。

MSI (‘Windows Installer’) 64-bit x86 – putty-64bit-0.76-installer.msi

下載後再把它安裝好。

PuTTY Key Generator

首先,我們會先使用PuTTY Key Generator,也就是「PtTTYgen」這個工具,來產生金鑰檔案,如下圖:

Step 1. 開啟程式之後,是長這樣,維持預設值之後,請直接點擊〔Generate〕,如下圖:

在產生的這段時間,請使用滑鼠游標在程式視窗範圍內移動,程式應該是利用滑鼠移動的位置,來當做亂數的種子,所以你不動滑鼠的話,是沒辦法運算完的。整個產生的時間大約1、2秒鐘而已,要視自己電腦的配備而定。

Step 2. 產生完了之後,畫面是長這個樣子,如下圖:

Step 3. 在這個畫面中,我們要修正「Key comment」這個資訊,請修改成你使用GCP的帳戶名稱,例如我是用我的Google帳號「changyang319@gmail.com」來使用GCP服務,所以我的「key comment」就是輸入「changyang319@gmail.com」,如下圖:

Step 4. 輸入完畢後,請點擊〔Save private key〕,並在警告對話盒「Are you sure you want to save this key without a passphrase to protect it ?」中點擊〔是〕,然後找個位置存放這個private key的金鑰檔案,如下圖:

Step 5. 最後,把最上方「Key」裡的public key內容,整個複製下來,這個內容有點長,要確實的圈選整段內容,如下圖:

這個Public Key,我們會在下一段內容用到。

Google Cloud Platform (GCP)後台

Step 1. 來到管理後台,請切換到你的「VM執行個體」頁面,並點擊你想要登入的「執行個體」,以我這邊來說,我是想要設定「instance-uwsgi」這部vm,如下圖:

※ 請注意到這個VM項目後方的「外部IP」資訊,這項資訊會在下一段用到。

Step 2. 請確定VM在「停止」的狀態之下,再點擊上方的「編輯」,如下圖:

(這張圖下方的狀態是「執行中」,這樣是不行的,必需是已停止才可以,因為我實在懶的再抓圖了…)

Step 3. 拉動卷軸,移到「安全殼層金鑰」的部份,點擊「+新增項目」,如下圖:

Step 4. 接著在這邊貼上在上一段所複製的Public金鑰,如下圖:

貼上之後,再移至最下方,並點擊〔儲存〕。

儲存完成後,再來到「安全殼層金鑰」來看,就可以看到有一個以你Email名稱的鍵值在這邊,如下圖:

做到這邊,就代表已經完成GCP的設定。請複製好前面提到的「外部IP」位址,我們會在下一段用到。

PuTTY

最後,就要來做個總結了,打開「PuTTY」連線程式,並在左方的「Category」中,點選「Connection \ SSH \ Auth」,並在下方的「Private key file for authentication」中,選取你使用PuTTYgen產生出來的金鑰,並存下來的private key檔案位置,如下圖:

接著點擊「Category」中的「Session」,在「Host Name」中,填入「user_name@外部IP」,以我的例子來說,就是「changyang319@35.194.202.101」,如下圖:

都填好之後,你可以在「Saved Sessions」填入一個名稱,然後點擊右方的〔Save〕,來把設定值存起來,像我就存了一個叫「gcp_uwsgi」的設定檔。

最後點擊下方的〔Open〕,初次打開時,會出現「PuTTY Security Alert」的對話盒,請點擊〔Accept〕,如下圖:

如果設定成功的話,就會直接連接進入GCP的VM裡,如下圖:

整個流程就大概是這樣。

也許您會喜歡

2 comments

ARISA 2023-05-10 - 23:22:53

Andrew在課程裡介紹的是直接透過終端機(我是用Windows Terminal Preview)連到主機, 用下指令的方式生成SSH key pair
實際操作之後, 我覺得反而比用Putty方便又省事…畢竟Putty還要另外安裝…
不過我是用Vultr…不是GCP
請問是因為在GCP主機上沒辦法用Andrew教的方法手動生成SSH key pair嗎?
還是你比較偏好用Putty呢?

Reply
唐先生 2023-05-12 - 02:09:41

其實應該是可以在GCP上面生成SSH key pair這個方式,只是當時我還比較沒辦法接受用這個方式來連SSH,當時還是比較偏好用GUI的Putty,畢竟連FTP都要用Filezilla了,所以就統一用GUI的軟體了。

但後來的幾年,也碰到好幾個軟體,也都是用手動的方式來設定SSH認證,所以現在比較可以接受用手動的方式,來設定SSH認證了。

Reply

Leave a Comment

這個網站使用cookies來改善您的瀏覽體驗。我們預設您同意此設定,但如果您不希望使用cookies,您有權選擇退出。 接受 詳細內容