當我通過雲控制檯創建新的VM實例時,會自動爲我在先前實例上手動創建的用戶創建homedirs,並將ssh-keys
複製到相應homedirs中的~/.ssh/authorized_keys
。如何防止GCE將ssh密鑰複製到所有新實例?
我不想那個!這是恕我直言,一個嚴重的安全漏洞。
我不希望任何用戶自動創建,我不希望任何ssh密鑰自動複製。
我該如何做到這一點?
當我通過雲控制檯創建新的VM實例時,會自動爲我在先前實例上手動創建的用戶創建homedirs,並將ssh-keys
複製到相應homedirs中的~/.ssh/authorized_keys
。如何防止GCE將ssh密鑰複製到所有新實例?
我不想那個!這是恕我直言,一個嚴重的安全漏洞。
我不希望任何用戶自動創建,我不希望任何ssh密鑰自動複製。
我該如何做到這一點?
您可以通過設置實例級別sshKeys
metadata key來指定特定用戶的SSH密鑰以用於實例。您還可以使用gcutil的--authorized_ssh_keys
選項在命令行做到這一點:
$ gcutil addinstance --authorized_ssh_keys=username1:/path/to/keyfile1,username2:/path/to/keyfile2,...
如果你想確保沒有實例獲得全套的用戶/鍵,可以刪除sshKeys
項目級元數據的關鍵。在控制檯中,單擊Compute Engine
,然後單擊Metadata
,然後單擊sshKeys
密鑰旁邊的垃圾桶圖標。然後您需要需要爲每個實例指定密鑰,否則您將無法登錄。 (這可能是您在全自動環境中需要的)
注意:運行gcutil ssh
將生成密鑰對(如果需要)並將其添加到sshKeys
密鑰。
Google將這些ssh密鑰自動添加到項目ssh-keys中。所以,你需要阻止項目範圍SSH密鑰:https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#block-project-keys
您可以通過元數據做到這一點:
"block-project-ssh-keys": "true"
@Geet [編輯](http://stackoverflow.com/review/建議編輯/ 6521681)你在這篇文章中建議不會以任何方式改進文章。請不要用反引號來標記隨機句子,因爲這些僅用於代碼,並且必須審覈這樣的內容,這浪費了審閱者的時間。 – APerson