🦅 ssx is a retentive ssh client.
It will automatically remember the server which login through it, so you do not need to enter the password again when you log in again.
- 👉 https://ssx.vimiix.com/
- 🤖 https://deepwiki.com/vimiix/ssx
Download binary from releases, extract it and add its path to your $PATH list.
If you want to install from source code, you can run command under project root directory:
make ssxthen you can get ssx binary in dist directory.
ssx [USER@]HOST[:PORT] [-i IDENTITY_FILE] [-p PORT]If given address matched an exist entry, ssx will login directly.
ssx list
# output example
# Entries (stored in ssx)
# ID | Address | Tags
#-----+----------------------+--------------------------
# 1 | [email protected]:22 | centosssx does not read ~/.ssh/config by default unless the environment variable SSX_IMPORT_SSH_CONFIG is set.
ssx will not store user ssh config entries to itself db, so you won't see their ID in the output of the list command
export SSX_IMPORT_SSH_CONFIG=true
ssx list
# output example
# Entries (stored in ssx)
# ID | Address | Tags
#-----+----------------------+--------------------------
# 1 | [email protected]:22 | centos
#
# Entries (found in ssh config)
# Address | Tags
# -----------------------------------+----------------------------
# [email protected]:22 | github.comssx tag --id <ENTRY_ID> [-t TAG1 [-t TAG2 ...]] [-d TAG3 [-d TAG4 ...]]Once we tag the entry, we can log in through the tag later.
If not specified any flag, ssx will treat the second argument as a keyword for searching from host and tags, if not matched any entry, ssx will treat it as a new entry, and try to login.
# login by interacting, just run ssx
ssx
# login by entry id
ssx --id <ID>
# login by address, support partial words
ssx <ADDRESS>
# login by tag
ssx <TAG>ssx <ADDRESS> [-c] <COMMAND> [--timeout 30s]
ssx <TAG> [-c] <COMMAND> [--timeout 30s]
# for example: login 192.168.1.100 and execute command 'pwd':
ssx 1.100 pwdssx delete --id <ENTRY_ID>SSX_DB_PATH: DB file to store entries, default is~/.ssx.db.SSX_CONNECT_TIMEOUT: SSH connect timeout, default is10s.SSX_IMPORT_SSH_CONFIG: Whether to import the user ssh config, default is empty.SSX_UNSAFE_MODE: The password is stored in unsafe modeSSX_SECRET_KEY: The secret key for encrypting entry's password, default will use machineid
Since: v0.3.0
ssx upgrade© 2023-2024 Vimiix
Distributed under the MIT License. See LICENSE file for details.