gh codespace ssh

gh codespace ssh [<flags>...] [-- <ssh-flags>...] [<command>]

The 'ssh' command is used to SSH into a codespace. In its simplest form, you can run 'gh cs ssh', select a codespace interactively, and connect.

The 'ssh' command also supports deeper integration with OpenSSH using a '--config' option that generates per-codespace ssh configuration in OpenSSH format. Including this configuration in your ~/.ssh/config improves the user experience of tools that integrate with OpenSSH, such as bash/zsh completion of ssh hostnames, remote path completion for scp/rsync/sshfs, git ssh remotes, and so on.

Once that is set up (see the second example below), you can ssh to codespaces as if they were ordinary remote hosts (using 'ssh', not 'gh cs ssh').


-c, --codespace <string>
Name of the codespace
Write OpenSSH configuration to stdout
-d, --debug
Log debug data to a file
--debug-file <string>
Path of the file log to
--profile <string>
Name of the SSH profile to use
--server-port <int>
SSH server port number (0 => pick unused)


$ gh codespace ssh

$ gh codespace ssh --config > ~/.ssh/codespaces
$ printf 'Match all\nInclude ~/.ssh/codespaces\n' >> ~/.ssh/config

See also