我试图使用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