gcloud で ssh がパスフレーズを要求し続ける

gcloud で ssh がパスフレーズを要求し続ける

私は、 を使用して、Mac (Mojave) から GCP インスタンスへのローカル ファイルのコピーを自動化しようとしていますgcloud compute scp

正常に動作しますが、作成された~/.ssh/google_compute_engineキーのパスフレーズの入力を要求され続けますgcloud

これを取り除いてプロセスを自動化する方法はありますか?

答え1

試す--quiet

からここ:

--quiet-q

gcloud コマンドを実行するときに、すべての対話型プロンプトを無効にします。入力が必要な場合は、デフォルトが使用されるか、エラーが発生します。このコマンド呼び出しのデフォルトの core/disable_prompts プロパティ値を上書きします。コマンドの先頭で使用する必要があります。これは、環境変数を CLOUDSDK_CORE_DISABLE_PROMPTS1 に設定するのと同じです。

答え2

できるかどうかわからない自動化するパスフレーズを入力する必要がありますが、パスフレーズを削除して、ローカルマシンに保存されている公開鍵と秘密鍵のみを使用し、パスフレーズを要求しないようにすることもできます。加えてキーの使用

それを行うには、これ答え。要点は次のとおりです。

  1. 既存のキーを削除する~/.ssh
  2. 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

関連情報