gcloud compute config-ssh - populate SSH config files with Host entries from each instance
gcloud compute config-ssh [--dry-run] [--force-key-file-overwrite] [--remove] [--ssh-config-file=SSH_CONFIG_FILE] [--ssh-key-file=SSH_KEY_FILE] [GCLOUD_WIDE_FLAG ...]
gcloud compute config-ssh makes SSHing to virtual machine instances easier by adding an alias for each instance to the user SSH configuration (~/.ssh/config) file.
In most cases, it is sufficient to run:
$ gcloud compute config-ssh
Each instance will be given an alias of the form NAME.ZONE.PROJECT. For example, if example-instance resides in us-central1-a, you can SSH to it by running:
$ ssh example-instance.us-central1-a.MY-PROJECT
On some platforms, the host alias can be tab-completed, making the long alias less daunting to type.
The aliases created interface with SSH-based programs like scp(1), so it is possible to use the aliases elsewhere:
$ scp ~/MY-FILE example-instance.us-central1-a.MY-PROJECT:~
Whenever instances are added, removed, or their external IP addresses are changed, this command should be re-executed to update the configuration.
This command ensures that the user's public SSH key is present in the project's metadata. If the user does not have a public SSH key, one is generated using ssh-keygen(1) (if the --quiet flag is given, the generated key will have an empty passphrase).
To populate SSH config file with Host entries from each running instance, run:
$ gcloud compute config-ssh
To remove the change to the SSH config file by this command, run:
$ gcloud compute config-ssh --remove
- --dry-run
If provided, the proposed changes to the SSH config file are printed to standard output and no actual changes are made.
- --force-key-file-overwrite
If enabled, the gcloud command-line tool will regenerate and overwrite the files associated with a broken SSH key without asking for confirmation in both interactive and non-interactive environments.
If disabled, the files associated with a broken SSH key will not be regenerated and will fail in both interactive and non-interactive environments.
- --remove
If provided, any changes made to the SSH config file by this tool are reverted.
- --ssh-config-file=SSH_CONFIG_FILE
Specifies an alternative per-user SSH configuration file. By default, this is ~/.ssh/config.
- --ssh-key-file=SSH_KEY_FILE
The path to the SSH key file. By default, this is ~/.ssh/google_compute_engine.
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
These variants are also available:
$ gcloud alpha compute config-ssh
$ gcloud beta compute config-ssh