Skip to content

C0dwiz/aassh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aassh - SSH Connection Manager

License: MIT Version Python Platform

Simple and convenient SSH connection manager with Mosh support

📋 Description

aassh is a lightweight command-line tool for managing SSH connections. It allows you to save, organize, and quickly connect to your SSH servers using convenient aliases instead of memorizing IP addresses and parameters. Includes full Mosh support for better mobile connectivity.

✨ Features

  • 🔐 Security: Designed to work with SSH keys
  • 📝 Simple Management: Intuitive command-line interface
  • 🚀 Fast Connection: Instant access to servers by name
  • 🔄 Flexible Configuration: Easy editing of connection parameters
  • 📦 Easy Installation: Single script for installation and setup
  • 🛜 Mosh Support: Better connectivity for unstable networks
  • 🎨 Rich Interface: Beautiful terminal UI with colors and tables

🚀 Installation

Installation and Usage Instructions

  1. Installation via script (safe flow):
# Download installer
curl -fsSL -o install.sh https://raw.githubusercontent.com/C0dWiz/aassh/dev/install.sh

# (Optional) inspect before running
less install.sh

# Run installer
bash install.sh

# Update PATH (if needed)
export PATH="$PATH:${HOME}/.local/bin"
  1. Installation from source (pip):
git clone https://github.com/C0dWiz/aassh.git
cd aassh
python3 -m pip install .
  1. Usage:
# Interactive mode (beautiful interface)
aassh

# List all profiles
aassh -l

# Filter profiles
aassh -f production

# Connect to specific profile
aassh aws-prod

# Add new profile
aassh --add

# Edit existing profile
aassh --edit home-server

# Delete profile
aassh --delete office-jumpbox

# Check Mosh installation
aassh --check-mosh

# Export profiles
aassh --export ./backup.yml

# Import profiles
aassh --import ./backup.yml

# Import hosts from OpenSSH config
aassh --import-ssh-config

# Show version
aassh -v
  1. Uninstall:
bash install.sh --uninstall

⚙️ Configuration

Sample configuration (~/.aassh/config.yml):

profiles:
  home-server:
    host: 192.168.1.100
    user: pi
    port: 2222
    description: Raspberry Pi home server
    tags: [raspberry, home]

  aws-prod:
    host: ec2-12-34-56-78.us-west-2.compute.amazonaws.com
    user: ubuntu
    key: ~/.ssh/aws-prod.pem
    description: Production web server
    tags: [aws, production]

  office-jumpbox:
    host: jumpbox.company.com
    user: myuser
    key: ~/.ssh/company_key
    description: Corporate jump server
    tags: [work, vpn]

  mobile-server:
    host: mobile.example.com
    user: mobile_user
    use_mosh: true
    mosh_port_range: 60000:61000
    description: Server with Mosh for mobile connections
    tags: [mosh, mobile]

🤝 Contributing

  1. Fork the project
  2. Create a branch for your changes (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch in your fork (git push origin feature/amazing-feature)
  5. Open a Pull Request

📜 License

Distributed under the MIT License. See the LICENSE file for more information.

📞 Support

About

aassh is a lightweight command-line tool for managing SSH connections. It allows you to save, organize, and quickly connect to your SSH servers using convenient aliases instead of memorizing IP addresses and parameters.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors