Skip to content

A small utility for checking ssh hosts against a YAML Key Exchange security policy

License

Notifications You must be signed in to change notification settings

XanaDublaKublaConch/sshcheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

SSHCheck

A small utility for checking ssh hosts against a YAML Key Exchange security policy
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

SSHCheck Screen Shot

(back to top)

Built With

  • Python
  • Typer Typer

(back to top)

Getting Started

To set up sshcheck, you will need to clone the repo and install locally with pip because I haven't botherd with pypi yet.

Installation

  1. Clone the repo
    git clone https://github.com/XanaDublaKublaConch/sshcheck.git
  2. Create a venv in the cloned folder
    # windows
    cd sshcheck
    py -3.10-64 -m venv venv
    venv\scripts\activate
    pip install .
    
    # Linux
    cd sshcheck
    python3 -m venv venv
    . venv/scripts/activate
    pip install .

(back to top)

Usage

To use the utility, you can run it from the activated venv with the sshcheck command using the syntax:

sshcheck <ip or hostname> --port <port>

The --port option is not required and defaults to the standard port 22.

sshcheck 192.168.1.1
sshcheck localhost --port 2222

SSHCheck uses the rich python library for pretty console display.

There are additional flags you can use to output svg, png, or pdf results (currently uses the fully-qualified hostname as the filename):

sshcheck myssh-server.home.local --svg-export
sshcheck myssh-server.home.local --png-export
sshcheck myssh-server.home.local --pdf-export
# combined
sshcheck myssh-server.home.local --svg-export --png-export --pdf-export

SVG/PDF output is built into rich, but PNG output requires the cairosvg library.

For more examples, please refer to the Documentation

(back to top)

Roadmap

  • Take a policy as input?
  • Custom exceptions
  • FastAPI front-end
    • Bulk host input? Not sure if I'm comfortable with this.

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

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

(back to top)

Contact

XanaDublaKublaConch - Use github issue tracker

Project Link: https://github.com/XanaDublaKublaConch/sshcheck

(back to top)

Acknowledgments

  • Me - I barely did anything. This was all built on:
  • Paramiko - The gold standard for python ssh
  • Typer - Typer is ✨ awesome ✨
  • Rich - Cross-platform beautiful output

(back to top)

About

A small utility for checking ssh hosts against a YAML Key Exchange security policy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages