解決 SSH 無法登入 Google Compute Engine VM 出現 Permission denied

閱讀時間約 6 分鐘

前情提要

有一台遠古的 Google Cloud Engine VM 有點問題, OS 是 Debian 7 ,我要進去查看問題在哪邊,用 gcloud compute ssh 指令 SSH 進去,不過卻跳出 Permission denied (publickey) 的錯誤,Log 如下

username@host:~/.ssh % gcloud compute ssh --zone zone instance_name --project project
username@192.168.0.1: Permission denied (publickey).

Recommendation: To check for possible causes of SSH connectivity issues and get
recommendations, rerun the ssh command with the --troubleshoot option.

gcloud compute ssh instance_name --project=project --zone=zone --troubleshoot

Or, to investigate an IAP tunneling issue:

gcloud compute ssh instance_name --project=project --zone=zone --troubleshoot --tunnel-through-iap

ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

這問題以前都沒遇過就只能 Google 看看,從外太空搜尋到內子宮,搜尋結果大概是兩個方向

硬碟空間滿了

這篇有提到用 gcloud compute instances get-serial-port-output 看 system log 會有 No space left on device 的 Log

但是我看我的 VM 沒有這條 log ,不過因為沒辦法登入所以也沒辦法確認硬碟空間是不是用完。

可能有什麼阻擋了 SSH 連線

這篇一樣是 SSH 無法連線的問題,有提到可以用 Serial Console 登入來救援

是要用 startup script 在啟動時增加一個 user ,不過照做之後,Serial Console 卻沒辦法跳出登入的 prompt

檢查 disk 容量

此時進度又回到原點,不過發現 startup script 這個好東西

startup script 可以在啟動時執行一個 script 而且是 root 身份,所以就先用 startup script 在啟動時跑 df 看看容量(跑出的結果會出現在 Serial Console)

df 結果使用量只用了 50% 左右,所以可以排除硬碟空間用完的問題

想辦法開啟 SSH 密碼登入

之前已經有用 startup script 加了 user ,所以就想說何不把 SSH 密碼登入的功能打開

所以又用 startup script 去編輯 /etc/ssh/sshd_config

這時用 sed -i “51d” /etc/ssh/sshd_config刪掉 51 行的 PasswordAuthentication no

再用 echo PasswordAuthentication yes >> /etc/ssh/sshd_config 這條指打開 SSH 密碼登入功能

然後 reset VM 就成功開啟 SSH 密碼登入,就可以用剛剛設定的 user 登入看一下問題

發現真正的問題

可以登入後就心安多了,根據原本的 Permission denied 的錯誤,就想說應該是 ssh key 的問題

所以就到自己的帳號下把所有的 SSH key 刪掉,重新把本機的 key 上傳上去,but 還是沒辦法用 SSH key 登入

這時就矇了,只能再繼續查,此時查到說 SSH 可以用 -vvv 來啟用 debug mode 看更多錯誤訊息

debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/username/.ssh/google_compute_engine RSA SHA256: explicit
debug1: send_pubkey_test: no mutual signature algorithm
debug2: we did not send a packet, disable method

看起來 debug1: send_pubkey_test: no mutual signature algorithm 這段最有問題,就拿去 Google 一下

查到這篇,原來 server 上的 SSH 版本為 OpenSSH_6.0p1 , Mac 上的版本是 OpenSSH_9.4p1 新版的 SSH Client 預設是不會使用 SSH-RSA 演算法,因為這個演算法有安全疑慮,所以要在 ~/.ssh/config 加上

PubkeyAcceptedAlgorithms +ssh-rsa

這樣來開啟 SSH-RSA 演算法

開啟後,就可以正常使用 SSH Key 登入主機

結語

從外太空查到內子宮,花了一整天的時間在搞這個,結果只要一行 code 就能解決

不過這就是經驗,走過這一輪,Google Cloud 上什麼怪招都用上也算是小有收穫 😂




如果你喜歡我的文章,你可以使用以下的方式支持我

👀 追蹤我的社群帳號

👏 Vocus 支持我

  1. 追蹤
  2. 留言、收藏、按喜歡
  3. 贊助
raw-image

💰 使用下面的推薦連結註冊或申辦服務


16會員
52內容數
這是一系列關於院長在加拿大生活的大小事,希望大家會喜歡 😊。頭像底圖由 Adobe Firefly 產生。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
迎新活動「方格新手村」:新格友註冊加入方格子,知名日料吃到飽餐券送給你! 👉 還不是 vocus 的會員嗎?點此註冊,參與新手村活動 👈 近期站上也出現了不少新格友,為了歡迎各位的加入,「方格新手村」隨之登場! 即日起,只要是新註冊帳號於活動期間內發佈 3 則文章,就有機會抽獎獲得知名日料吃到飽餐券。原格友也可以一起同樂,我們準備了小任
Thumbnail
2024-06-21
閱讀心得:展現自我的生活態度|成熟大人的說話課我們每天都在說話,但說出的話合適嗎? Sunny最近讀完一本有關溝通的書籍。 這是由世紀奧美公關的創辦人「丁菱娟」所寫的書,書的全名《丁菱娟的成熟大人說話課:如何說,才能得體又不傷人?反擊時,如何堅定又有力量?任何情境都可用的38個溝通之道》。 會找這本書來看,主要是因為Sunny 近期發
Thumbnail
2024-07-10
防曬產品係數測試報告彙整(2024年)從2014年起,自己對於市售防曬產品的效能產生了濃厚的興趣。因為當時候發現不少產品的防曬係數其實標示是有問題的,像是原本應該是人體測試的SPF與PA數值,實際上沒有做,只用機器測試的數據來充當,但這兩者卻有很大的差異。像是防曬係數其實有強度、廣度與平均度三個面向需要一起判斷,但多數廠商並沒有完整標示
Thumbnail
解決孩子無心向學的問題以下為兩位有緣人分享:   分享一   大女兒一直學習不好,無心向學,這個學期開始更加一路下滑。第一次請示是沖犯,處理了沒見變化,於是我每個月固定三百元放生,迴向孩子學業進步。 再次請示,又是沖犯,還有業障干擾,處理並迴向成功后,好像也不見大變化。不過這個學期最後兩個禮拜,看她沒有再整天拿著
Thumbnail
解決萬事起頭難的絕招「兩分鐘法則」很多時候我們明明計畫好要去健身、跑步、打球,但是隨著時間越近,心裡抵抗的程度也就越高。有時就直接放棄這次的運動計畫了。這是很多人都遇到過的問題。 心裡產生抗拒的原因,很多時候都是因為想到要完成安排的行程內容壓力就很大,所以除了在行程安排的運動量要酌量增減之外,透過「兩分鐘法則」,也是有效解決這問題
Thumbnail
2023-08-23
解決Windows SFC /scannow無法使用的問題windows無法開機時,可以透過chkdsk指令掃描磁碟,並且用sfc指令修復系統檔案,偶爾會有還沒修好的狀況,這時候就可以使用本文介紹的離線修復指令
Thumbnail
2023-07-03
解決借名登記90%以上問題的方法?借名登記的困難在於舉證房子到底是誰的? 怎樣舉證最容易呢?
2021-04-29
解決危機?製造危機?〖企業危機處理的必修課〗 瀏覽新聞時注意到〈寒舍艾美酒店遭抓包私刷卡近6萬元〉的標題,根據報導顧客入住時刷卡預付了一筆住房費,正常程序是等到我們退房後飯店才會跟信用卡發卡銀行請款,但顧客收到信用卡帳單後突然發現該飯店多刷了57000多元,顧客致電飯店,飯店服務人員的反應實在讓我驚訝! 驚訝的原因在
Thumbnail
2019-05-20
解決問題的商業框架圖鑑-6W2H   「6W2H」可以幫助我們拓展思考範圍,網羅各種基本問題。所謂的6W2H 是利用「Who」、「What」、「Whom」、「When」、「Where」、「Why」、「How」、「How much」等8 個疑問詞,分別從各個面向探討事物、主題、問題與課題
Thumbnail
2019-04-02
解決問題的兩把鑰匙│談改變與接受一個星期內連著三天上褚士瑩老師的燒腦課,上完課出校門都感覺頭頂有不完全燃燒的一陣煙!雖然老師授課完畢還安慰我們說:「如果太燒腦的話,去外面吹吹風就好。」但是我想老師沒說出來的是:大腦訊息過載時,就會呈現兩眼發直,進入超級餓狀態。這可不是吹風就可以解決的事。
Thumbnail
2019-03-30
解決問題的鑰匙現實生活中一定會遇到問題, 關鍵在怎麼找到解決方法, 很多時候最好的方法, 我們當下往往不熟悉, 不習慣, 甚至尚未意識到它的存在, 所以需要看書, 接觸人群, 探索更多的可能, 這些問題可以想像成, 一扇鎖上的門, 鑰匙常不在洞孔上, 你會需要去別的地方找出這鑰匙。
Thumbnail
2019-02-07
解決問題還是製造問題?生活中很多簡短的對話,都會讓哺乳類大腦機制瞬時間啟動「戰或逃」的狀態。不是吵起來,就是生悶氣,這樣對於彼此關係都是一點一點的受傷。
Thumbnail
2018-08-28