簡體   English   中英

Google Cloud 不管理虛擬機中的用戶/SSH

[英]Google Cloud not managing users/SSH in VMs

我們已經升級了 Google Cloud 實例中的 Debian 分布,GCloud 似乎無法再管理實例中的用戶及其 SSH 密鑰。

我已經安裝了以下工具:

  • google-cloud-packages-archive-keyring/now 1.2-499050965 全部
  • google-cloud-sdk/cloud-sdk-bullseye,現在 412.0.0-0 全部
  • google-compute-engine-oslogin/google-compute-engine-bullseye-stable,now 1:20220714.00-g1+deb11 amd64
  • google-compute-engine/google-compute-engine-bullseye-stable,now 1:20220211.00-g1 all
  • google-guest-agent/google-compute-engine-bullseye-stable,now 1:20221109.00-g1 amd64
  1. 我無法通過 UI 連接。 它卡在“正在將 SSH 個密鑰傳輸到實例”上。 “故障排除”表示一切正常。
  2. 當嘗試通過gcloud compute ssh連接時,它死於

    權限被拒絕(公鑰)

  3. 我仍然可以與其他用戶一起訪問該實例,但沒有創建新用戶,也沒有傳輸 SSH 密鑰。

我還缺少什么?

編輯:

您是否已將 SSH 密鑰添加到項目元數據或實例元數據? 如果它的實例元數據,項目級別 ssh 密鑰是否被阻止?

我沒有添加任何元數據。

您的用戶帳戶是否在項目中具有對實例的 SSH 的必要權限(例如所有者、編輯或計算實例管理員 IAM 角色)?

是的,這在 debian 升級到 bookworm 之前一直有效。 我可以看到所有與 google-cloud 相關的包都被刪除了,我不得不安裝它們。

您是否可以使用 ssh 客戶端(例如 Putty)將 SSH 連接到實例?如果可以,您需要確保實例上正在運行 Google 客戶經理守護程序。

我可以很好地使用在 Debian 升級之前在機器上處於活動狀態的帳戶 SSH。 這些帳戶已經正確設置並運行了.ssh目錄。 新的谷歌用戶無法登錄。

試試gcloud beta compute ssh --zone ZONE INSTANCE_NAME --project PROJECT

這僅適用於 Debian 升級前活躍的用戶。

如果是,您需要確保 Google 客戶經理守護程序正在該實例上運行。

我安裝了缺少的google-compute-engine-oslogin package,但似乎沒有效果,新用戶仍然無法登錄。

編輯2:

When connecting to serial console, it gets stuck on: csearch-dev google_guest_agent[2839775]: ERROR non_windows_accounts.go:158 Error updating SSH keys for gke-495d6b605cf336a7b160: mkdir /home/gke-495d6b605cf336a7b160/.ssh: no such file or directory. - 同樣的問題, SSH 密鑰從未轉移到實例中。

您可以執行以下幾項操作來解決權限被拒絕(公鑰)錯誤消息的問題:

首先,您必須確保您已使用具有compute instance admin 角色的 IAM 用戶通過 gcloud 正確驗證自己。 您可以通過運行gcloud auth login [USER]然后再次try gcloud compute ssh來做到這一點。

您還可以驗證 Linux 來賓環境腳本是否已正確安裝和運行。 請參閱 此頁面以獲取有關驗證更新手動安裝來賓環境的信息。

另一種可能性是私鑰丟失或我們的密鑰對不匹配。 要強制 gcloud 生成新的 SSH 密鑰對,您必須先移動~/.ssh/google_compute_engine~/.ssh/google_compute_engine.pub如果存在),例如:

mv ~/.ssh/google_compute_engine.pub ~/.ssh/google_compute_engine.pub.old
mv ~/.ssh/google_compute_engine ~/.ssh/google_compute_engine.old

完成后,您可以再次嘗試gcloud compute ssh [INSTANCE-NAME] ,應該創建一個新的密鑰對,並將公鑰添加到 SSH 密鑰元數據中。

請參閱Sunny-jAnswer以查看受影響實例的串行端口日志,以獲取有關該問題的可能線索。 另請參閱解決被鎖定在 Compute Engine 之外的問題以獲取更多信息。

編輯:請參閱此類似的SO使用串行控制台進行故障排除,這有助於解決您的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM