All Projects → Julien-R44 → fast-ssh

Julien-R44 / fast-ssh

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

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to fast-ssh

pystyle
The source of my Python library, pystyle.
Stars: ✭ 158 (+105.19%)
Mutual labels:  tui
xplr
A hackable, minimal, fast TUI file explorer
Stars: ✭ 2,271 (+2849.35%)
Mutual labels:  tui
pybart
Real time BART (Bay Area Rapid Transit) information in your terminal!
Stars: ✭ 17 (-77.92%)
Mutual labels:  tui
py menu
🛠 Snack TUI (1)终端菜单---配置工具利器 (2)三级菜单 (3)编辑页面封装 【CentOS6.X+】
Stars: ✭ 20 (-74.03%)
Mutual labels:  tui
px
ps and top for human beings
Stars: ✭ 151 (+96.1%)
Mutual labels:  tui
pytermgui
Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
Stars: ✭ 1,270 (+1549.35%)
Mutual labels:  tui
textual
Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.
Stars: ✭ 16,180 (+20912.99%)
Mutual labels:  tui
cxxcurses
Header only ncurses wrapper
Stars: ✭ 24 (-68.83%)
Mutual labels:  tui
dbui
Universal Database CLI for MySQL, PostgreSQL, and SQLite. Terminal User Interface Application.
Stars: ✭ 110 (+42.86%)
Mutual labels:  tui
qbittorrentui
text user interface for qbittorrent
Stars: ✭ 19 (-75.32%)
Mutual labels:  tui
fire
The Pre-Cambrian DOOM animation in the terminal!
Stars: ✭ 22 (-71.43%)
Mutual labels:  tui
resto
🔗 a CLI app can send pretty HTTP & API requests with TUI
Stars: ✭ 113 (+46.75%)
Mutual labels:  tui
hackernews-TUI
A Terminal UI to browse Hacker News
Stars: ✭ 347 (+350.65%)
Mutual labels:  tui
cryptgo
A terminal application to watch crypto prices!
Stars: ✭ 123 (+59.74%)
Mutual labels:  tui
sysz
An fzf terminal UI for systemctl
Stars: ✭ 1,258 (+1533.77%)
Mutual labels:  tui
notcurses-zig-example
Demo showing how to use Notcurses library for building terminal UIs with Zig
Stars: ✭ 32 (-58.44%)
Mutual labels:  tui
pdiary
A simple terminal diary journal application written in Python with encryption support.
Stars: ✭ 24 (-68.83%)
Mutual labels:  tui
csol
A small collection of solitaire/patience games (Klondike, FreeCell, Spider, Yukon, etc.) to play in the terminal
Stars: ✭ 25 (-67.53%)
Mutual labels:  tui
tblogs
A simple and useful blogs' reader for your terminal
Stars: ✭ 28 (-63.64%)
Mutual labels:  tui
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (+9.09%)
Mutual labels:  tui

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"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].