我試圖使用PostgreSQL的命令sudo -i -u postgres
,並且Google Compute Engine虛擬機要求我爲我的帳戶(而不是根目錄)輸入密碼。如何獲取sudo的密碼
由於我從未發出過密碼,而且我總是通過SSH密鑰登錄到我的服務器,所以我不確定密碼是什麼,如何重置密碼或找到密碼。
請告訴我在哪裏可以得到我的密碼?
我試圖使用PostgreSQL的命令sudo -i -u postgres
,並且Google Compute Engine虛擬機要求我爲我的帳戶(而不是根目錄)輸入密碼。如何獲取sudo的密碼
由於我從未發出過密碼,而且我總是通過SSH密鑰登錄到我的服務器,所以我不確定密碼是什麼,如何重置密碼或找到密碼。
請告訴我在哪裏可以得到我的密碼?
每https://cloud.google.com/compute/docs/instances,
的實例創建器和使用元數據 sshKeys值添加的任何用戶都自動管理員帳戶,與 到無需密碼運行須藤的能力。
所以你不需要那個不存在的密碼 - 你需要「使用元數據sshKeys值添加」!該法服的方式做到這一點,我從同一頁面引用:
$ echo user1:$(cat ~/.ssh/key1.pub) > /tmp/a
$ echo user2:$(cat ~/.ssh/key2.pub) >> /tmp/a
$ gcloud compute project-info add-metadata --metadata-from-file sshKeys=/tmp/a
,或者您可以使用谷歌開發者控制檯類似用途看https://cloud.google.com/compute/docs/console#sshkeys如果你願意說。
要成爲一個GCE VM另一個非根用戶,首先通過無密碼sudo
成爲root
(因爲這是如何sudo
上GCE VM鏡像構造):
sudo su -
,然後切換到用戶你想成爲或運行一個命令作爲另一種用途,例如,在你的情況下,這是:
sudo -i -u postgres
如果我想更改我的默認shell? – user 2016-09-28 15:29:00
@user - 與在相應的Linux發行版上執行操作的方式相同,例如使用['chsh'](https://linux.die.net/man/1/chsh)。這不是GCE特有的。 – 2016-09-30 01:19:39
在GCE中,您使用RSA密鑰登錄,而不使用密碼。 google compute vm AFAIK中沒有用戶密碼。 – user 2016-09-30 12:57:22