This tiny app helps to maintain a list of ssh servers. Unlike PuTTY it doesn't incorporate any connection logic, but relying on ssh
utility which should be installed on your system.
Supported platforms: macOS, Linux, Windows.
- Download the latest version from the Releases section;
- Choose a binary file which matches your platform;
- Place the binary into your user's binary path;
- Optionally: rename
gg-${YOUR_PLATFORM_TYPE}
togg
. - If you're on Linux or macOS, ensure that the binary has execution permissions:
chmod +x gg
RPM and DEB packages are available in the releases section (these packages are not provided for pre-release builds).
Package goto-ssh-bin is supported by Arch Linux community. Please find the details in PKGBUILD file.
# Install goto
yay -S goto-ssh-bin
Find more demos and uses cases here.
Please also refer F.A.Q. page which provides additional configuration details and usage examples.
-d
- disable feature, only supported value is ssh_config;gg -d "ssh_config" # since version 1.4.0
-e
- enable feature, only supported value is ssh_config;gg -e "ssh_config" # since version 1.4.0
-f
- specify the application home folder;gg -f /tmp/goto
-l
- log verbosity level. Onlyinfo
(default) ordebug
values are currently supported;gg -l debug
-s
- define an alternative per-user SSH configuration file path;gg -s /mnt/nfs_share/ssh/config # since version 1.4.0
-h
- display help;-v
- display version and configuration details.
GG_HOME
- specify the application home folder;GG_LOG_LEVEL
- set log verbosity level. Onlyinfo
(default) ordebug
values are currently supported.GG_SSH_CONFIG_FILE_PATH
- define an alternative per-user SSH configuration file path.
2 file storages are supported:
- ssh_config - readonly storage type. Goto loads all hosts from your
~/.ssh/config
file. Seeman ssh_config
, if you want to find out more about OpenSSH client configuration file. - yaml file - writable storage type, but supports less options than ssh_config. Please section 4.1 if you want to find out more about yaml file structure and its location.
You can only store your hosts in a yaml file, which is called hosts.yaml
. The file is located in your user config folder which exact path depends on a running platform:
- on Linux, it's in
$XDG_CONFIG_HOME/goto
or$HOME/.config/goto
; - on Mac, it's in
$HOME/Library/Application Support/goto
; - on Windows, it's in
%AppData%\goto
.
Usually you don't need to edit this file manually, but sometimes it's much more convenient to edit it with help of your favorite text editor, than using goto
utility. The file structure is very simple and self-explanatory:
- host:
title: kernel.org
description: Server 1
address: 127.0.0.1
- host:
title: microsoft.com
description: Server 2
address: 127.0.0.1
network_port: 22
username: satya
identity_file_path: /home/user/.ssh/id_rsa_microsoft
5. F.A.Q.
7. Changelog
8. License
- To people who find time to contribute whether it is a bug report, a feature or a pull request.
- To Charmbracelet project for the glamorous Bubbletea library.
- To JetBrains Team for their support for Open-Source community and for the amazing products they make. That is a great boost indeed. I'm proudly placing their logo here as a humble "Thank You" gesture.