Skip to main content

SSH config file generator

Project description

https://pepy.tech/badge/sshconfig/month https://img.shields.io/readthedocs/sshconfig.svg https://img.shields.io/pypi/v/sshconfig.svg https://img.shields.io/pypi/pyversions/sshconfig.svg
Author:

Ken Kundert

Version:

2.2

Released:

2022-11-19

Installation

Requires Python3.6 or newer.

You can download and install the latest stable version of the code from PyPI using:

pip3 install --user sshconfig

You can find the latest development version of the source code on Github.

Introduction

SSH Config generates an SSH config file adapted to the network you are currently using. In this way, you always use the fastest paths available for your SSH related activities (sshfs, email, vnc, mercurial, etc.). You can also easily reconfigure SSH to make use of proxies as needed or select certain servers or ports based on your location or restrictions with the network.

The following situations are supported:

  1. You may give the mac address or addresses for your router or routers and your network will automatically be recognized.

  2. You can configure which hostname or IP address is used for a particular host depending on which network you are on. In this way you always use the fastest connection available for each host.

  3. You can specify that certain hosts are hidden behind other hosts, so that a SSH proxy should be used to access them.

  4. You can specify port forwarding information for each host. Then, two SSH configurations will be created for those hosts, one that includes port forwarding and one that does not. That way, once the port forwards are established, you can open additional shells on that host without SSH trying to create conflicting port forwards.

  5. You can enter multiple hostnames or IP addresses and give their locations. Then, if you specify your location, the closest server will be used automatically.

  6. You can specify proxy configurations and specify that one should be used for all hosts not on your current network.

  7. You can specify port restrictions and have SSH work around them if possible (if your server supports alternative ports).

  8. You can configure a default location, proxy, or set of port restrictions for each of your known networks.

  9. Once host names are defined, they do not change even though you are using different configurations (different networks, locations, proxies, and port restrictions). In this way you can hard code your host names in applications such as Mercurial or Git, and they automatically adapt to your existing network.

  10. The entire application, including the configuration files, are Python code, so you have considerable freedom to change the configuration based on things like the name of the machine or the user when generating the SSH config file.

Documentation

You can find documentation at ReadTheDocs.

Issues

Please ask questions or report problems on Github Issues.

Contributions

Contributions in the form of pull requests are welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sshconfig-2.2.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

sshconfig-2.2-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file sshconfig-2.2.tar.gz.

File metadata

  • Download URL: sshconfig-2.2.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for sshconfig-2.2.tar.gz
Algorithm Hash digest
SHA256 37387b36ad601b277bbc983a04f25ff065dbc9dbd3739377e30e1c47bf6f493a
MD5 d59e728e2a5b2235d321fb0fdae97542
BLAKE2b-256 5e32fe2c8aa72ed3967ecc11fcf0376a48fac5e0832176e82085753f2d4b9b5e

See more details on using hashes here.

File details

Details for the file sshconfig-2.2-py3-none-any.whl.

File metadata

  • Download URL: sshconfig-2.2-py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for sshconfig-2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 090ccc4cff6eb443d5ed744be5d0613396f3673c8738e4c50916f6ab7407c3e7
MD5 8b1f33628081e94fa538a406bf4f3ce2
BLAKE2b-256 f44e1999d2d025f0d43e8b3b81690fc31b9a4e42b20453866e41ff6674e5a2c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page