[英]Google Cloud not managing users/SSH in VMs
我們已經升級了 Google Cloud 實例中的 Debian 分布,GCloud 似乎無法再管理實例中的用戶及其 SSH 密鑰。
我已經安裝了以下工具:
gcloud compute 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-j和Answer以查看受影響實例的串行端口日志,以獲取有關該問題的可能線索。 另請參閱解決被鎖定在 Compute Engine 之外的問題以獲取更多信息。
編輯:請參閱此類似的SO和使用串行控制台進行故障排除,這有助於解決您的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.