私は、 を使用して、Mac (Mojave) から GCP インスタンスへのローカル ファイルのコピーを自動化しようとしていますgcloud compute scp
。
正常に動作しますが、作成された~/.ssh/google_compute_engine
キーのパスフレーズの入力を要求され続けますgcloud
。
これを取り除いてプロセスを自動化する方法はありますか?
答え1
試す--quiet
:
からここ:
--quiet
、-q
gcloud コマンドを実行するときに、すべての対話型プロンプトを無効にします。入力が必要な場合は、デフォルトが使用されるか、エラーが発生します。このコマンド呼び出しのデフォルトの core/disable_prompts プロパティ値を上書きします。コマンドの先頭で使用する必要があります。これは、環境変数を
CLOUDSDK_CORE_DISABLE_PROMPTS
1 に設定するのと同じです。
答え2
できるかどうかわからない自動化するパスフレーズを入力する必要がありますが、パスフレーズを削除して、ローカルマシンに保存されている公開鍵と秘密鍵のみを使用し、パスフレーズを要求しないようにすることもできます。加えてキーの使用
それを行うには、これ答え。要点は次のとおりです。
- 既存のキーを削除する
~/.ssh
- ssh で再接続してみてください。キーが見つからないためキーが再作成され、パスフレーズが必要かどうか尋ねられます。パスフレーズは作成しないでください。
答え3
標準入力をリダイレクトすることで動作しました/dev/null
:
gcloud compute scp delete.me myInstance:~/ < /dev/null
答え4
SSHエージェントにSSHキーを追加するには
ssh-add ~/.ssh/google_compute_engine
ssh-agent
詳細については、およびのマニュアル ページを参照してくださいssh-add
。