"Ssh"
- GCP VM 的 SSH 與 RDP 改走 IAP 的實測紀錄:盤點、救援入口、IAP 規則與 IAM、停用舊規則驗證、OS Login 啟用與移除外部 IP
要把 GCP 專案裡對 0.0.0.0/0 開放 22 與 3389 port 的預設規則換成只放行 IAP,想照一次實跑過的順序做、看每一步沒做或換一種做法的結果時讀;也用在停用舊規則之後連不上、OS Login 啟用後有人登不進去,或拿掉外部 IP 之後要確認出站走了 Cloud NAT 的時候
- GCP VM 的 SSH 與 RDP 管理通道:從預設的全開規則改走 IAP TCP forwarding
GCP 預設網路自帶的防火牆規則與它們留下的暴露面、IAP TCP forwarding 的連線路徑與日常連線指令、切換到 IAP 的順序為什麼這樣排、IAP 通道連不上時的依層判讀,以及 IAM 授權範圍、OS Login 的啟用條件與工作階段的結束、拿掉外部 IP 之後的出站路徑、Organization Policy、階層式防火牆、稽核紀錄與 Security Command Center 的 OPEN_SSH_PORT finding 在 GCP 上的處理
- 遠端連線與同步工具選型:連得穩、斷得起、檔案一致
遠端工作要挑連線與檔案同步工具、在 ssh/mosh/autossh 之間、或 rsync/sshfs/mutagen 之間拿不定、想知道各自解哪個問題與代價時回來讀
- GCP 上 MIG 與 GKE 管理存取的實測紀錄:instance template 與 canary 滾動更新、重建與主機金鑰、kubectl debug 的 namespace、node pool 設定與控制平面端點的切換
要把 IAP 的 tag、OS Login 與移除外部 IP 套到 MIG 或 GKE 上,想照一次實跑過的順序做、看每一步換一種做法的結果時讀;也用在 MIG 重建之後 SSH 出現 REMOTE HOST IDENTIFICATION HAS CHANGED、kubectl debug 停在等待,或關掉 GKE 控制平面的 IP 端點之前要確認每個人都改連的時候
- GCP 上由 MIG 與 GKE 管理的 VM 的管理存取:instance template、node pool、kubectl debug 與控制平面存取
VM 由 managed instance group 或 GKE node pool 管理時,管理通道的設定為什麼要寫在 instance template 與 node pool 而不是逐台修改、MIG 救援用重建、退回 template 與 Serial Console 各自適用的情形、GKE 的控制平面與節點兩個存取面、kubectl debug 取代節點 SSH 的權限邊界(RBAC 與 Pod Security Admission),以及 GKE 控制平面三種端點(authorized networks、DNS-based endpoint 與 private endpoint)的差別
- 遠端連線與終端機問題
SSH 連線斷掉後本機終端機卡住噴亂碼、遠端打字變亂碼、或想從 SSH 操控遠端圖形桌面卻起不來時,判斷是哪一層出問題並修復
- 環境建置的操作順序
第一次從零建立 Linux 或 macOS 開發環境、不確定先做什麼後做什麼時讀 — 依賴順序路線圖,每一步附對應模組連結
- 登入:SSH 金鑰、預設使用者、建立後加金鑰與不放金鑰時的登入服務
雲端主機建立頁 SSH 金鑰欄位的幾個選項(讓業者產生、上傳、貼上、不放金鑰)各自把什麼放進主機、私鑰由誰保管,映像檔決定的預設使用者名稱,建立之後還能不能加金鑰、金鑰遺失時剩下哪些入口,以及完全不放金鑰時靠業者的哪些服務登入
- 伺服器管理通道的設計:網路可達性、通道授權、主機登入驗證三層的做法與選擇,以及救援入口
與雲端廠商無關、適用於雲端 VM、地端主機與 VPS 的管理員登入通道設計:拆成網路可達性、通道授權與主機登入驗證的模型,各層的做法(來源白名單、跳板機、VPN、身分感知代理、代理程式反向連線、SSH 憑證)、更換 port 與 fail2ban 改不了的部分,依存取者身分、連線送達方式、收回方式選擇組合的依據,以及移除公開 IP 之後的出站路徑、切換順序、救援入口、組織護欄與稽核
- 外部連入、SSH key 與無 key 的 bootstrap 路徑
要從本機終端機操作新裝好的 Linux 機器、設 SSH key 免密碼、或還沒有 key 就想把 dotfile 弄進機器跑 install.sh 時回來讀
- OpenSSH 內建 CA 的 SSH 憑證導入:CA 金鑰、sshd 設定、簽發、principal、撤銷與主機憑證
用 OpenSSH 自帶的 ssh-keygen 與 sshd 建立 SSH 憑證的完整流程:使用者 CA 與主機 CA 的金鑰怎麼產生與保管、sshd 的 TrustedUserCAKeys 與 AuthorizedPrincipalsFile、簽發時的識別字串與有效期、憑證外洩時用 KRL 撤銷,以及用主機憑證取代逐台確認指紋,以及導入順序與兩個會讓所有人登不進去的設定:AuthorizedPrincipalsFile 的讀取權限、RevokedKeys 指的檔案不存在
- 讓機器跑無人值守的長任務
要讓一台遠端機器在你不盯著時自己跑完一個長任務或 agent、卻被 sudo 密碼 / 斷線就死 / 推不出結果擋住時讀
- 建立主機之前的檢查:建好就改不了的設定、登入路徑上各服務的支援組合、兩條登入路徑各自依賴的元件,以及容量稀缺時的取捨
在建立頁按下建立之前,把位置、機型與映像檔、網路、登入、安全開機各篇的選項串成幾項檢查:哪些設定建立之後只能重建、怎麼查,登入用的業者服務各自支援哪些機型與作業系統、元件狀態正常為什麼不代表支援,兩條登入路徑各自依賴哪些元件、哪些仍然共用,以及機型容量難取得時設定怎麼選;Oracle Cloud、Google Cloud 與 AWS 各自查這些事的位置
- SSH Key Storage(SSH 金鑰儲放與 authorized_keys)
配置 SSH 免密碼登入、要知道私鑰放哪、公鑰怎麼授權、多裝置各自的鑰匙怎麼管、或高權限操作該不該給完整金鑰時回來讀
- TCP Connection Roaming(連線與漫遊)
遠端連線一換網路(Wi-Fi 切行動網路、休眠喚醒、換 IP)就斷、想知道為什麼 SSH 扛不住而 mosh 撐得住時回來讀
- Bastion Host(跳板機)
內部主機不想各自對外開管理 port、要設定 ProxyJump 經由跳板機連線、判斷 agent forwarding 的風險,或要評估自建跳板機與改用身分感知代理的取捨時,查跳板機的連線方式、暴露面與維運責任
- SSH Certificate(SSH 憑證)
主機多、人員常異動而逐台收回 authorized_keys 跟不上,或要讓 SSH 登入權限自動到期時,查 SSH CA 簽發短期憑證的運作方式與導入時要決定的事
- OS Login
GCP 專案要讓 SSH 登入權限跟著 Google 帳號與 IAM 走、啟用 OS Login 之後管理員或 CI 連不進 VM、或盤點專案 metadata 裡殘留的 SSH 公鑰時,查 OS Login 的運作方式、IAM role 與它和 metadata 金鑰的差別
- SSH Host Key 與 known_hosts(主機金鑰)
ssh 第一次連線問要不要信任指紋、出現 REMOTE HOST IDENTIFICATION HAS CHANGED 警告,或主機重建之後連不上時,查 host key 怎麼證明主機身分、known_hosts 記了什麼,以及首次信任的風險
- SSH Key 設定筆記(macOS / Linux / Windows)
macOS / Linux / Windows 的 SSH key 設定操作筆記(Ed25519 金鑰產生、ssh-agent、佈到遠端主機)。