GCP實名認證 GCP 谷歌雲國際站 Debian 服務器安裝
前言:別怕,Debian 其實很乖
\n如果你有在 GCP(Google Cloud Platform)上部署網站、跑服務或做各種雲端小實驗的想法,那你一定會遇到一個問題:怎麼在 GCP 的國際站把 Debian 服務器「從零到可用」?
\n別擔心,這篇文章就是要把流程講得清清楚楚,而且盡量用人話、順便吐槽幾個大家最常踩的坑。你會看到從建立虛擬機(GCE)、選映像、網路與防火牆、SSH 登入,到更新系統、設定時區語系、安裝基本工具與做安全加固。最後再給你一份小清單,讓你下次看到同類任務不會手忙腳亂。
\n\n準備工作:你需要哪些東西?
\n在開始前,先確認你有:
\n- \n
- 一個可用的 GCP 帳號(能進控制台、能建立計費或至少有免費額度)。 \n
- 會用基本的 Google Cloud Console 操作(例如建立 VM、看網路設定)。 \n
- 一個本地端機器,能透過 SSH 連線(Windows 用 PuTTY 或 Windows Terminal;macOS/Linux 直接 ssh)。 \n
另外我建議你準備一個「目標用途」:你打算用 Debian 跑什麼?例如:
\n- \n
- 部署網站(Nginx/Apache + PHP 或靜態檔)。 \n
- 跑 API(Node/Python/Java 等)。 \n
- 資料庫(MySQL/PostgreSQL)。 \n
- 純命令行工具、跳板、代理或其他服務。 \n
用途不同,後續開放的端口與安全策略會不一樣。雖然這篇文章以「安裝並能用」為主,但我們也會順手把安全底線打好。
\n\n建立 Debian 虛擬機:從 GCE 到第一步成功
\nGCP實名認證 Step 1:進入 Compute Engine
\n在 GCP 控制台左側選「Compute Engine」→「VM 實例」。點「建立實例」。
\n如果你看到一些新手友善的引導,那就跟著做;如果沒有,也沒關係,我們照流程走。
\n\nStep 2:命名與區域/區(Region/Zone)
\n填寫:
\n- \n
- 實例名稱(例如:debian-server-01)。 \n
- 區域/區:建議先選離你或你的目標用戶較近的位置,延遲會比較好。 \n
如果你不確定怎麼選,就先選預設或離你所在區域近的。後面要改很麻煩,所以建議你開心但別亂選。
\n\nStep 3:機器規格(Machine type)
\n新手起步建議:
\n- \n
- 用途是測試/輕量網站:n1-standard 或 e2-medium 等級可能過重,反而 e2-micro 常常就夠了(視你的預算)。 \n
- 跑資料庫或需要效能:你可能要選更高規格。 \n
這裡我不想直接亂指定規格,因為 GCP 的選項會隨時間調整,而且你也可能有不同使用需求。你就先用最低能跑的規格,跑穩了再升級。
\n\nStep 4:啟動磁碟(Boot disk)選 Debian
\n在「Boot disk」或「映像(Image)」裡選 Debian。
\n常見選擇:
\n- \n
- Debian 12(Bookworm)通常是更推薦的新手起點。 \n
- Debian 11(Bullseye)如果你有相容性需求也行。 \n
GCP實名認證 建議你挑 Debian 官方映像,選一個穩定版本。映像選錯不是世界末日,但會讓你在之後套件相容性上多走彎路。
\n\nStep 5:網路(Network)與防火牆(Firewall)
\n這一步非常關鍵。你需要決定是否要允許外網連進來。
\n常見做法有兩種:
\n- \n
- 你確定要對外提供服務(例如 Nginx 80/443):就開放相應端口。 \n
- 你先當跳板或只做內部用途:先不開放外網端口,等需要再加。 \n
如果你不確定要開哪些端口,先保守一點。原因很簡單:你不開,世界就不會直接對你的伺服器投射各種神秘流量。
\n\nStep 6:SSH 金鑰(或用密碼)
\n我強烈建議使用 SSH 公鑰方式(更安全也更省事)。
\n- \n
- 如果你已經有 SSH 金鑰:上傳或填入公鑰。 \n
- 沒有:你可以在本機生成一對 SSH Key,然後把公鑰貼到 GCP。 \n
至於「密碼登入」,不是不行,但新手最容易把密碼設得太弱,或之後忘記更新。那就像把門鎖換成裝飾品:偶爾可能還能用,但你很難保證永遠。
\n\nStep 7:建立實例並等待啟動
\n確認配置無誤後,按「建立」。等待 VM 啟動完成。
\n你會看到狀態變成「Running」。此時你就可以連上去了。
\n\nSSH 登入:拿到你手上的那台 Debian
\n取得外部 IP 或使用內網連線
\n在 VM 實例列表中,你可以看到外部 IP(External IP)。如果你沒有外部 IP,可能是你沒配置或防火牆策略不同。通常要對外服務會需要外部 IP。
\n你也可以使用瀏覽器內建的 SSH(某些 GCP 控制台提供「SSH」按鈕)。這對新手很友善,但我還是建議你最後練習本機 SSH,因為之後操作、上傳檔案、排錯會更順。
\n\n本機 SSH 連線
\n在終端機輸入類似:
\n- \n
- macOS/Linux: \n
ssh -i 你的私鑰.pem 用戶名@外部IP\n
- \n
- 如果用戶名是 Debian 常見的(常見為 debian 或你填的使用者)。 \n
ssh 用戶名@外部IP\n
如果第一次連線會詢問是否信任主機指紋,照提示確認即可。
\n\n常見卡住原因(別慌)
\n- \n
- 連不上:通常是防火牆/網路沒有放行 22(SSH)。 \n
- 連得上但權限失敗:多半是 SSH key 沒填對或用戶名不正確。 \n
- 連得上但速度慢:可能是 DNS 或路由問題,先試 ping、再檢查系統狀態。 \n
如果你遇到問題,先不要急著重灌系統。先查防火牆、查 SSH 設定、看錯誤訊息才是正解。
\n\n第一次登入後必做:更新、時區、語系與基本工具
\n更新套件(不做這步,後面會痛)
\nDebian 上最基本的第一刀就是更新套件清單與升級:
\nsudo apt update && sudo apt -y upgrade\n
如果你的 VM 連網正常,這一步通常會很順。若卡在下載,可能是鏡像源或網路策略問題。
\n\nGCP實名認證 設定時區(讓系統別用「想像中的時間」)
\nDebian 的時間顯示如果不對,會讓 log 看起來像在演時空穿越。
\n你可以先用:
\ntimedatectl\n
查看目前時區。要設定時區可用:
\nsudo timedatectl set-timezone Asia/Taipei\n
(如果你的所在地不在台灣,就換成對應的,例如 Asia/Shanghai、Asia/Hong_Kong 等。)
\n\n設定語系(避免亂碼與奇怪的輸出)
\n檢查語系:
\nlocale\n
如果發現沒有設定,你可以安裝與配置語系支援:
\nsudo apt -y install locales\nsudo dpkg-reconfigure locales\n
在互動選單中選擇合適的 UTF-8 語系。常見選擇是:
\nzh_TW.UTF-8\n
設定完後,重新登入或重啟 shell 環境。
\n\n安裝常用工具:vim、curl、wget、htop、git…
\n新手常用工具清單(你可依需求挑):
\nsudo apt -y install vim curl wget git htop ufw ca-certificates gnupg\n
提示:有些人只裝 curl 不裝 wget,或只裝 vim 不裝 htop,最後排錯會覺得自己像在黑暗中找鑰匙。適量裝齊一點很值得。
\n\n防火牆與安全加固:把門鎖真正鎖上
\n啟用 UFW(Uncomplicated Firewall)
\nDebian 安裝後如果你真的要對外提供服務,建議至少用 UFW 做基本層的防護。
\n先查看 UFW 狀態:
\nsudo ufw status\n
啟用時記得先允許 SSH,否則你會體驗到「自己把自己鎖在外面」的快感(但那種快感通常不好笑)。
\n允許 SSH:
\nsudo ufw allow 22/tcp\n
如果你之後要開 Nginx:
\nsudo ufw allow 80/tcp\nsudo ufw allow 443/tcp\n
最後啟用:
\nsudo ufw enable\n
確認規則:
\nsudo ufw status verbose\n\n
更新內核與安全更新設定(別只顧著玩)
\n你可以確認是否開了自動安全更新(視 Debian 版本與設定而定)。基本概念是:有安全更新時自動提醒或自動安裝,避免過久沒更新。
\n一般你可以用:
\nsudo apt -y install unattended-upgrades\n
再啟動設定(不同系統可能略有差異)。如果你不確定就先跳過,但至少要養成定期更新的習慣。
\n\n禁用密碼登入(如果你用 SSH 金鑰)
\n如果你已經用 SSH key 登入,建議禁用密碼登入,降低風險。
\n編輯 SSH daemon 設定檔:
\nsudo vim /etc/ssh/sshd_config\n
找到並設置:
\nPasswordAuthentication no\n
同時確保你有正常的公鑰登入方式。改完後重啟 SSH:
\nsudo systemctl restart ssh\n
這步的重點是:一定要先確認 key 可用,再禁密碼。否則你會面臨「你改完了,但你自己也進不去」的尷尬。
\n\n設定主機名與 hosts:讓你少打字也少迷路
\n設定主機名
\n可用:
\nsudo hostnamectl set-hostname debian-server-01\n
GCP實名認證 然後查看:
\nhostnamectl\n\n
設定 /etc/hosts(可選,但有時候很救命)
\n編輯:
\nsudo vim /etc/hosts\n
通常你會保留 localhost,若你需要自建域名解析或內網服務,可以在這裡加上對應的解析。若你不做複雜部署,可以先略過。
\n\n建立你自己的「服務部署地盤」:Nginx 範例(可選)
\n如果你接下來想把網站跑起來,那最常見就是 Nginx。
\n安裝 Nginx
\nsudo apt -y install nginx\n
啟動並設定開機啟動
\nsudo systemctl start nginx\nsudo systemctl enable nginx\n
確認服務在聽什麼端口
\nsudo ss -lntp | grep 80\n
測試頁面
\n先用瀏覽器打開你的外部 IP,看是否出現 Nginx 預設頁。
\n如果你用 UFW,記得 80/443 端口要開。還有一個很常見的狀況:你以為防火牆有開,但 GCP 的「外部防火牆規則」其實沒開,這就會造成瀏覽器顯示連線逾時。
\n\nGCP 特有的兩個坑:防火牆重疊與網卡/路由設定
\n部署在雲端最常翻車的地方不是 Debian,而是雲端環境的「雙重防火牆與策略」。
\n坑 1:UFW 開了,GCP 防火牆沒開
\n你可能在 Debian 上開了 80、22,但仍然外網連不上。原因通常在 GCP 控制台裡的防火牆規則沒有允許該端口進入。
\n解法:回到 GCP「VPC 網路」→「防火牆」,檢查入站規則,確保允許所需端口與來源 IP(最好限制來源)。
\n\n坑 2:來源 IP 過度限制
\n如果你把防火牆入站來源設成某個 IP,但你其實從另一台網路連線,就會被擋住。尤其是公司網路、手機網路、公網 Wi-Fi,IP 會變。
\n新手解法:先用較寬鬆的限制測通流程,再逐步收緊。
\n\n進一步強化:Fail2ban、SSH 限制與日誌查看
\nGCP實名認證 安裝 Fail2ban(抓攻擊者的自動工具)
\nFail2ban 會監測登入失敗等行為,偵測到異常就暫時封鎖。
\nsudo apt -y install fail2ban\n
啟動:
\nsudo systemctl enable --now fail2ban\n
檢查狀態:
\nsudo fail2ban-client status\n
這對「公開的 22 埠」特別有用,尤其你不想每天手動看 log 的時候。
\n\n查看 SSH 與系統日誌
\n常用:
\nsudo journalctl -u ssh --since "1 hour ago"\nsudo tail -n 100 /var/log/auth.log\n
看到錯誤訊息時,記得把完整訊息貼給自己(或在論壇提問時貼上),因為只貼「連不上」通常不夠。
\n\n部署前的小清單:你可以照著打勾
\n這裡給你一份簡短但很實用的檢查表。當你完成後,你的 Debian 基本上就穩了。
\n- \n
- [ ] VM 已啟動,能在控制台確認 Running。 \n
- [ ] 外部 IP 可用或你清楚如何內網連線。 \n
- [ ] SSH 可連(並且 UFW + GCP 防火牆都放行 22)。 \n
- [ ] apt update / apt upgrade 已做。 \n
- [ ] 時區正確(timedatectl set-timezone)。 \n
- [ ] 語系正常(避免亂碼)。 \n
- [ ] 常用工具已安裝(vim/curl/wget/htop 等)。 \n
- GCP實名認證 [ ] UFW 已啟用(且已允許必要端口)。 \n
- [ ] SSH 密碼登入已禁用(如果你用金鑰)。 \n
- [ ] Fail2ban 已安裝(可選但推薦)。 \n
- [ ] 服務(如 Nginx)啟動正常且外網可訪。 \n
常見 Q&A:新手最常問的幾件事
\nQ:Debian 選哪個版本比較好?
\nA:一般建議 Debian 12(Bookworm),穩定且包相對新。若你有特定舊版相容性要求再選 Debian 11。
\n\nQ:沒有外部 IP 怎麼辦?
\nA:看你的需求。如果你要對外提供服務,就需要外部可達性(外部 IP 或透過負載平衡/代理)。如果只是內網使用,則要確定你的連線方式(VPN、內網路由等)。
\n\nQ:我開了 UFW 還是連不上,怎麼找原因?
\nA:回到 GCP 防火牆規則檢查。因為雲端通常還有一層「外部防火牆」。另外也檢查端口是否真的在聽(ss -lntp)。
\n\nQ:為什麼 SSH 連線會提示憑證/主機指紋?
\nA:第一次連線通常會詢問 trust。你可以核對指紋(通常控制台可看)。如果你反覆重建 VM,指紋會變是正常的。
\n\n結語:今天你把 Debian 帶上雲端,下一步就是部署
\n到這裡,你已經完成「GCP 谷歌雲國際站 Debian 服務器安裝」的核心流程:建立 VM、選 Debian、設定網路與防火牆、用 SSH 登入、更新套件、調時區語系、安裝必要工具,並把最基本的安全加固做起來。
\n接下來你要做什麼,就看你的目標了:架設 Nginx/Apache、部署應用程式、設置資料庫、加入域名與 HTTPS、設定自動部署與備份。只要你第一步走得穩,後面就會像搭樂高一樣越疊越順——前提是你別拿螺絲去硬接積木(那當然會翻車)。
\n如果你願意,我也可以根據你要部署的服務(例如:網站、API、代理、資料庫、Docker、或 Kubernetes)給你下一篇更具體的安裝與設定清單。你只要告訴我:你打算把 Debian 用來做什麼。
" }

