Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GH-CODESPACE-SSH(1)		GitHub CLI manual	     GH-CODESPACE-SSH(1)

NAME
     gh-codespace-ssh - SSH into a codespace

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

DESCRIPTION
     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 will automatically create a public/private ssh key pair  in
     the  ~/.ssh  directory  if you do not have an existing valid key pair. When
     selecting the key pair to use, the preferred order is:

       1. Key specified by -i in <ssh-flags>

       2. Automatic key, if it already exists

       3. First valid key pair in ssh config (according to ssh -G)

       4. Automatic key, newly created

     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 com-
     pletion  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  code-
     spaces as if they were ordinary remote hosts (using ssh, not gh cs ssh).

     Note  that the codespace you are connecting to must have an SSH server pre-
     installed.  If the docker image being used for the codespace does not  have
     an  SSH  server,  install it in your Dockerfile or, for codespaces that use
     Debian-based images, you can add the following to your devcontainer.json:

     "features": {
	  "ghcr.io/devcontainers/features/sshd:1": {
	       "version": "latest"
	  }
     }

OPTIONS
     -c, --codespace <string>
	    Name of the codespace

     --config
	    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

     -R, --repo <string>
	    Filter codespace selection by repository name (user/repo)

     --repo-owner <string>
	    Filter codespace selection by repository owner (username or org)

     --server-port <int> (default 0)
	    SSH server port number (0 => pick unused)

EXIT CODES
     0: Successful execution

     1: Error

     2: Command canceled

     4: Authentication required

     NOTE: Specific commands may have additional exit codes. Refer to  the  com-
     mand's help for more information.

EXAMPLE
     $ gh codespace ssh

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

SEE ALSO
     gh-codespace(1)

				    Aug 2026		     GH-CODESPACE-SSH(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gh-codespace-ssh&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help