2015-02-09 15 views
10

Sto cercando di utilizzare il comando sudo -i -u postgres per PostgreSQL e la VM del motore di Google Compute mi sta chiedendo la mia password per il mio account (non root).Come ottenere la password per sudo

Poiché non ho mai inserito una password e accedo sempre al server tramite il tasto SSH, non sono sicuro di quale sia la password, come posso resettarla o dove può essere trovata.

Ti prego, dimmi dove posso ottenere la mia password?

risposta

5

Per https://cloud.google.com/compute/docs/instances,

Il creatore istanza e tutti gli utenti che sono stati aggiunti utilizzando il valore dei metadati sshkeys sono automaticamente gli amministratori sul conto, con la possibilità di eseguire sudo senza richiedere una password.

Quindi non hanno bisogno di password che non esiste - è necessario essere "aggiunto utilizzando il valore sshkeys metadati"! Il modo canonica per farlo, e cito da quella stessa pagina:

$ 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 

oppure è possibile utilizzare Google Developers Console per scopi simili, vedi https://cloud.google.com/compute/docs/console#sshkeys se si preferisce che.

26

diventare un altro utente non root su un GCE VM, prima diventare root via senza password sudo (dato che è come sudo configurato sulle immagini GCE VM):

sudo su - 

e poi passare all'utente vuoi diventare o eseguire un comando come altro, ad esempio nel tuo caso:

sudo -i -u postgres 
+0

Cosa succede se voglio cambiare la shell di default? – user

+0

@user - allo stesso modo in cui lo si farebbe sulla distribuzione Linux appropriata, ad esempio, usare ['chsh'] (https://linux.die.net/man/1/chsh). Questo non è specifico per GCE. –

+1

In GCE, si effettua l'accesso utilizzando le chiavi RSA, senza utilizzare le password. Non ci sono password per gli utenti in google compute vm AFAIK. – user

Problemi correlati