Man page - gh-codespace-ssh(1)
Packages contains this manual
- gh-repo-edit(1)
- gh-release-view(1)
- gh-pr-list(1)
- gh-project-edit(1)
- gh-run-download(1)
- gh-pr-reopen(1)
- gh-pr-close(1)
- gh-project-delete(1)
- gh-extension-install(1)
- gh-extension-remove(1)
- gh-project-item-delete(1)
- gh-variable-delete(1)
- gh-secret-delete(1)
- gh-project-field-delete(1)
- gh-extension-exec(1)
- gh-gist-edit(1)
- gh-config-clear-cache(1)
- gh-pr-status(1)
- gh-run-view(1)
- gh-ruleset-check(1)
- gh-pr-edit(1)
- gh-codespace-ssh(1)
- gh-repo-deploy-key-add(1)
- gh-issue-delete(1)
- gh-extension(1)
- gh-gist-list(1)
- gh-auth-token(1)
- gh-gist-create(1)
- gh-release-create(1)
- gh-auth-setup-git(1)
- gh-run-watch(1)
- gh-repo-set-default(1)
- gh-secret(1)
- gh-workflow-enable(1)
- gh-ssh-key-delete(1)
- gh-pr-lock(1)
- gh-codespace-delete(1)
- gh-gist-view(1)
- gh-pr-checks(1)
- gh-repo-sync(1)
- gh-run-delete(1)
- gh-release-download(1)
- gh-config-set(1)
- gh-label-create(1)
- gh-extension-create(1)
- gh-repo-view(1)
- gh-issue-list(1)
- gh-project-unlink(1)
- gh-variable(1)
- gh-variable-list(1)
- gh-release-delete-asset(1)
- gh-repo-archive(1)
- gh(1)
- gh-cache-delete(1)
- gh-gpg-key-delete(1)
- gh-status(1)
- gh-pr-ready(1)
- gh-ssh-key(1)
- gh-issue-status(1)
- gh-project-copy(1)
- gh-run-cancel(1)
- gh-variable-set(1)
- gh-run-rerun(1)
- gh-codespace-logs(1)
- gh-release-edit(1)
- gh-pr-diff(1)
- gh-extension-browse(1)
- gh-repo-rename(1)
- gh-workflow-run(1)
- gh-org-list(1)
- gh-search-repos(1)
- gh-org(1)
- gh-project-item-list(1)
- gh-release-list(1)
- gh-project-link(1)
- gh-release-delete(1)
- gh-auth-status(1)
- gh-project-field-list(1)
- gh-search-code(1)
- gh-gist-clone(1)
- gh-alias(1)
- gh-alias-set(1)
- gh-issue-edit(1)
- gh-issue-unpin(1)
- gh-codespace-ports(1)
- gh-issue-pin(1)
- gh-repo(1)
- gh-pr-merge(1)
- gh-issue-develop(1)
- gh-auth-logout(1)
- gh-auth(1)
- gh-workflow(1)
- gh-issue-close(1)
- gh-codespace-ports-forward(1)
- gh-auth-login(1)
- gh-ssh-key-list(1)
- gh-config-get(1)
- gh-codespace-list(1)
- gh-codespace-cp(1)
- gh-config(1)
- gh-config-list(1)
- gh-issue-transfer(1)
- gh-codespace-edit(1)
- gh-project-view(1)
- gh-issue-reopen(1)
- gh-project-field-create(1)
- gh-codespace(1)
- gh-repo-deploy-key-list(1)
- gh-codespace-rebuild(1)
- gh-gpg-key(1)
- gh-alias-import(1)
- gh-project-close(1)
- gh-pr-unlock(1)
- gh-gpg-key-add(1)
- gh-codespace-code(1)
- gh-pr-view(1)
- gh-codespace-stop(1)
- gh-run(1)
- gh-repo-list(1)
- gh-label-clone(1)
- gh-project-list(1)
- gh-extension-upgrade(1)
- gh-issue-comment(1)
- gh-gist-delete(1)
- gh-pr-review(1)
- gh-pr-comment(1)
- gh-cache-list(1)
- gh-auth-switch(1)
- gh-pr(1)
- gh-label-delete(1)
- gh-browse(1)
- gh-alias-delete(1)
- gh-repo-delete(1)
- gh-repo-deploy-key-delete(1)
- gh-cache(1)
- gh-alias-list(1)
- gh-issue-lock(1)
- gh-ruleset-list(1)
- gh-gpg-key-list(1)
- gh-repo-create(1)
- gh-project(1)
- gh-ruleset(1)
- gh-project-item-archive(1)
- gh-extension-search(1)
- gh-pr-create(1)
- gh-workflow-disable(1)
- gh-issue(1)
- gh-gist-rename(1)
- gh-workflow-view(1)
- gh-release(1)
- gh-search-prs(1)
- gh-workflow-list(1)
- gh-issue-create(1)
- gh-label(1)
- gh-project-create(1)
- gh-codespace-create(1)
- gh-search-issues(1)
- gh-ssh-key-add(1)
- gh-issue-view(1)
- gh-search-commits(1)
- gh-gist(1)
- gh-label-list(1)
- gh-codespace-jupyter(1)
- gh-run-list(1)
- gh-label-edit(1)
- gh-completion(1)
- gh-ruleset-view(1)
- gh-codespace-view(1)
- gh-issue-unlock(1)
- gh-auth-refresh(1)
- gh-extension-list(1)
- gh-project-item-create(1)
- gh-secret-set(1)
- gh-search(1)
- gh-repo-clone(1)
- gh-release-upload(1)
- gh-repo-unarchive(1)
- gh-api(1)
- gh-project-mark-template(1)
- gh-project-item-edit(1)
- gh-pr-checkout(1)
- gh-repo-fork(1)
- gh-repo-deploy-key(1)
- gh-codespace-ports-visibility(1)
- gh-secret-list(1)
- gh-project-item-add(1)
apt-get install gh
Manual
GH-CODESPACE-SSH
NAMESYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLE
SEE ALSO
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 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 ).
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)
EXAMPLE
$ gh codespace ssh
$ gh codespace
ssh --config > Λ/.ssh/codespaces
$ printf βMatch all\nInclude
Λ/.ssh/codespaces\nβ >>
Λ/.ssh/config
SEE ALSO
gh-codespace(1)