Ich versuche, das Kopieren einiger lokaler Dateien von meinem Mac (Mojave) in eine GCP-Instanz zu automatisieren, indem ich verwende gcloud compute scp
.
Funktioniert einwandfrei, fragt aber ständig nach der Passphrase für den erstellten ~/.ssh/google_compute_engine
Schlüssel gcloud
.
Gibt es eine Möglichkeit, dies zu beseitigen, damit ich den Vorgang automatisieren kann?
Antwort1
versuchen --quiet
:
AusHier:
--quiet
,-q
Deaktivieren Sie alle interaktiven Eingabeaufforderungen beim Ausführen von gcloud-Befehlen. Wenn eine Eingabe erforderlich ist, werden Standardwerte verwendet oder ein Fehler ausgegeben. Überschreibt den Standardeigenschaftswert core/disable_prompts für diesen Befehlsaufruf. Muss am Anfang von Befehlen verwendet werden. Dies entspricht dem Festlegen der Umgebungsvariable
CLOUDSDK_CORE_DISABLE_PROMPTS
auf 1.
Antwort2
Ich bin nicht sicher, ob du das kannstautomatisierenEingabe der Passphrase, aber Sie können die Passphrase natürlich entfernen, so dass nur Ihre öffentlichen und privaten Schlüssel verwendet werden, die auf Ihrem lokalen Computer gespeichert sind, und nicht nach der Passphrase gefragt wirdZusätzlichzur Verwendung der Tasten
Informationen hierzu finden Sie unterDasAntwort. Der Kern ist:
- Entfernen Sie die vorhandenen Schlüssel aus
~/.ssh
- Versuchen Sie, die Verbindung per SSH wiederherzustellen. Die Schlüssel werden neu erstellt, da sie nicht gefunden werden können. Anschließend werden Sie gefragt, ob Sie eine Passphrase wünschen. Erstellen Sie keine Passphrase.
Antwort3
Ich habe es zum Laufen gebracht, indem ich die Standardeingabe umgeleitet habe von /dev/null
:
gcloud compute scp delete.me myInstance:~/ < /dev/null
Antwort4
Fügen Sie den SSH-Schlüssel zu Ihrem SSH-Agenten hinzu mit
ssh-add ~/.ssh/google_compute_engine
ssh-agent
Weitere ssh-add
Einzelheiten finden Sie auf den Manpages .