• Stars
    star
    150
  • Rank 247,323 (Top 5 %)
  • Language
    Rust
  • License
    MIT License
  • Created about 3 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

⌨️ FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.

Connect quickly to your services 🚀



FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.

Installation

Download the latest release for your platform here, extract it and put it in a directory that is in your PATH (Packages managers coming soon). For example:

sudo cp fast-ssh /usr/bin/fast-ssh

If you use cargo you can run cargo install fast-ssh

Then you can launch Fast-SSH with fast-ssh.

Documentation

The default SSH configuration file should be located at ~/.ssh/config. If you already have an SSH configuration file with some hosts defined then you don't have to add anything, Fast-SSH just parses this file and displays it. If you don't have an SSH configuration file or you don't have any hosts defined within it then below is an example to help you set one up for use with Fast-SSH. Further information about the SSH configuration file can be found at this link: https://linuxize.com/post/using-the-ssh-config-file/

Host *
    UpdateHostKeys yes
    
Host Desktop                            # Name of host you want to connect to, for use with Fast-SSH.
    HostName 192.168.1.10               # Hostname using an IP address, this can be a public or private one.
    User YourCoolUsername               # Username for the host you want to SSH into.
    
Host Server                             # Name of host you want to connect to, for use with Fast-SSH.
    HostName 216.58.214.14              # Hostname using an IP address, this can be a public or private one.
    User YourCoolUsername               # Username for the host you want to SSH into.
    
Host AnotherServer                      # Name of host you want to connect to, for use with Fast-SSH.
    HostName example.com                # Hostname using a domain name.
    User YourCoolUsername               # Username for the host you want to SSH into.
    
Host RaspberyPi/Arch-Linux              # Defined group and name of host for use with Fast-SSH.
    HostName alarm-pi.local             # Hostname using a locally resolved address.
    User YourCoolUsername               # Username for the host you want to SSH into.
    
Host RaspberryPi/Raspbian               # Defined group and name of host for use with Fast-SSH.
    HostName raspbian.lan               # Hostname using a locally resolved address.
    User YourCoolUsername               # Username for the host you want to SSH into.

Fast-SSH has a group system. This allows you to sort your servers, for example, by project, mission or client. To make some groups, it's simple, just define your Host as Group/ServerName (see full configuration in above example) and your groups will be displayed in FastSSH. You can now select a group and display only the servers defined in that group. Now all you have to do is launch Fast-SSH, select your service and press enter to connect.

File Database

A file database is stored at $XDG_CONFIG_HOME/FastSSH/db.ron ( %APPDATA%/FastSSH/db.ron for Windows ).

This file is automatically created when you launch Fast-SSH. This database is used to store the number of connections to a service and the date of last connection.

Search Mode

Fast-SSH implements a search mode ( fuzzy ) that allows you to type to find one of your hosts. To use it, press s, start typing, finish your selection with the arrow keys then press enter once the host is selected to make the SSH connection. Press ESC if you wish to leave the search mode and return to the "groups" mode.

Shortcuts

Key Action
h Display Shortcuts Panel
Enter Validate selection : Execute SSH cmd
Tab/BackTab Navigate through your groups
Left/Right Navigate through your groups
Up/Down Navigate through your hosts
c Switch Config display mode
PageUp/Down Scroll Configuration
s Enable Search Mode
Esc Exit Search Mode
q Exit Fast-SSH

Configuration

Fast-SSH has a few configuration options. You can find the configuration in :

  • Unix : $XDG_CONFIG_HOME/FastSSH/config.yaml
  • Windows : %APPDATA%/FastSSH/config.yaml
# This is the default configuration for FastSSH.

theme:
    text_primary: "#b967ff"
    text_secondary: "#ffffff"
    border_color: "#b967ff"

Known issues

If you are a user of the new Windows terminal and you encounter raw ANSI escape sequences when you run fast-ssh, you must unset the TERM environment variable before running the application. Read more about this here : crossterm-rs/crossterm#580

Best solution would be to create an alias like this :

alias fast-ssh="TERM= fast-ssh"

More Repositories

1

bentocache

🍱 Bentocache is a robust multi-tier caching solution for Node.js applications
TypeScript
381
star
2

cli-candlestick-chart

📈 Display candlestick charts right into your terminal.
Rust
253
star
3

verrou

🔒 Verrou is a library for managing Locks in Node.js. Support multiple drivers
TypeScript
174
star
4

vite-plugin-validate-env

✅ Vite plugin for validating your environment variables
TypeScript
163
star
5

hot-hook

🪝 Simple HMR for NodeJS + ESM
TypeScript
158
star
6

pino-loki

🔉 This package provides a transport for pino that forwards messages to Loki.
TypeScript
111
star
7

adonis-sail

⛵Generate a ready-to-use local docker environment for your Adonis application
TypeScript
97
star
8

adonis-vscode-extension

💻 VSCode Extension for AdonisJS
TypeScript
64
star
9

unocss-preset-forms

📋 Port of @tailwindcss/forms for UnoCSS.
TypeScript
56
star
10

adonisjs-prometheus

📊 Prometheus Provider for AdonisJS with some builtins metrics for monitoring your application.
TypeScript
42
star
11

unocss-preset-heropatterns

🏁 UnoCSS preset that integrates Hero Patterns.
TypeScript
27
star
12

unocss-preset-flowbite

💅 An adaptation of the Flowbite Tailwind plugin for UnoCSS
TypeScript
27
star
13

pretty-list-routes

🛣️ A beautiful `list:routes` for AdonisJS
TypeScript
25
star
14

adoscope

🔭 An elegant development assistant for your AdonisJS Application
TypeScript
22
star
15

factorify

🏭 Framework-agnostic model factory system for clean testing
TypeScript
19
star
16

japa-vscode

🧪 A Japa extension for VSCode
TypeScript
17
star
17

adonis-grpc-consumer

🕸️ Adonis gRPC client provider for easily communicate with gRPC services.
TypeScript
13
star
18

cron-expression-generator

🔧 Generate crontab expression using friendly and declarative API
TypeScript
10
star
19

socket.io-prometheus

📡 Exposes metrics endpoint for Prometheus to collect data about Socket.io.
TypeScript
5
star
20

lit-valtio-state

🏪 A simple state management library for Lit components
TypeScript
3
star
21

japa-database-plugin

💽 Database assertions and testing helpers for Japa
TypeScript
3
star
22

adonis-packages

TypeScript
3
star
23

adonis-extension-pack

📦 Collection of extensions for Adonis.js development
2
star
24

tooling-configs

👌 My custom tool configurations ( ESLint, TS, Prettier ... )
TypeScript
2
star
25

module-methods-extractor

🪛 Utility module to extract public methods for a given default export.
TypeScript
1
star
26

crypto-rss-news-app

Nativescript application that displays crypto market news from various RSS feeds.
Vue
1
star
27

music-ddl

Simple music downloader built on top of octlif, that downloads music from multiples DDL sites as sources.
TypeScript
1
star
28

Wolf3D

A Wolfenstein 3D like game, using raycasting.
C
1
star
29

Julien-R44

1
star
30

gitlab-slack-release-notifier

🤖 A small service that sends a notification on Slack when a release has been published on GitLab.
TypeScript
1
star
31

binance-scanner-wma-sma-cross

Program that analyzes the charts of all symbols on Binance Futures, and when a WMA/SMA cross is found on a certain UT, a notification is sent on a discord channel.
TypeScript
1
star
32

tuyau-stackblitz-demo

TypeScript
1
star