{"id":20548613,"url":"https://github.com/kenkundert/sshconfig","last_synced_at":"2025-04-14T10:53:20.593Z","repository":{"id":23197842,"uuid":"26554406","full_name":"KenKundert/sshconfig","owner":"KenKundert","description":"An SSH config file generator","archived":false,"fork":false,"pushed_at":"2024-11-02T22:53:04.000Z","size":296,"stargazers_count":24,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T00:06:56.041Z","etag":null,"topics":["ssh","ssh-config"],"latest_commit_sha":null,"homepage":"https://sshconfig.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KenKundert.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-12T20:18:24.000Z","updated_at":"2024-11-02T22:53:07.000Z","dependencies_parsed_at":"2024-11-02T23:33:36.232Z","dependency_job_id":null,"html_url":"https://github.com/KenKundert/sshconfig","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fsshconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fsshconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fsshconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KenKundert%2Fsshconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KenKundert","download_url":"https://codeload.github.com/KenKundert/sshconfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525141,"owners_count":21118620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ssh","ssh-config"],"created_at":"2024-11-16T02:14:01.833Z","updated_at":"2025-04-14T10:53:20.571Z","avatar_url":"https://github.com/KenKundert.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"SSH Config — SSH Adapts to Your Current Network\n===============================================\n\n.. image:: https://pepy.tech/badge/sshconfig/month\n    :target: https://pepy.tech/project/sshconfig\n\n.. image:: https://img.shields.io/readthedocs/sshconfig.svg\n   :target: https://sshconfig.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/pypi/v/sshconfig.svg\n    :target: https://pypi.python.org/pypi/sshconfig\n\n.. image:: https://img.shields.io/pypi/pyversions/sshconfig.svg\n    :target: https://pypi.python.org/pypi/sshconfig/\n\n\n:Author: Ken Kundert\n:Version: 2.2.1\n:Released: 2023-11-08\n\n\nInstallation\n------------\n\nRequires Python3.6 or newer.\n\nYou can download and install the latest\nstable version of the code from `PyPI \u003chttps://pypi.python.org\u003e`_ using::\n\n    pip3 install --user sshconfig\n\nYou can find the latest development version of the source code on\n`Github \u003chttps://github.com/KenKundert/sshconfig\u003e`_.\n\n\nIntroduction\n------------\n\nSSH Config generates an SSH config file adapted to the network you are currently \nusing.  In this way, you always use the fastest paths available for your SSH \nrelated activities (sshfs, email, vnc, mercurial, etc.). You can also easily \nreconfigure SSH to make use of proxies as needed or select certain servers or \nports based on your location or restrictions with the network.\n\nThe following situations are supported:\n\n#. You may give the mac address or addresses for your router or routers and your \n   network will automatically be recognized.\n#. You can configure which hostname or IP address is used for a particular host \n   depending on which network you are on. In this way you always use the fastest \n   connection available for each host.\n#. You can specify that certain hosts are hidden behind other hosts, so that \n   a SSH proxy should be used to access them.\n#. You can specify port forwarding information for each host. Then, two SSH \n   configurations will be created for those hosts, one that includes port \n   forwarding and one that does not. That way, once the port forwards are \n   established, you can open additional shells on that host without SSH trying \n   to create conflicting port forwards.\n#. You can enter multiple hostnames or IP addresses and give their locations.  \n   Then, if you specify your location, the closest server will be used \n   automatically.\n#. You can specify proxy configurations and specify that one should be used for \n   all hosts not on your current network.\n#. You can specify port restrictions and have SSH work around them if possible \n   (if your server supports alternative ports).\n#. You can configure a default location, proxy, or set of port restrictions for \n   each of your known networks.\n#. Once host names are defined, they do not change even though you are using \n   different configurations (different networks, locations, proxies, and port \n   restrictions). In this way you can hard code your host names in applications \n   such as Mercurial or Git, and they automatically adapt to your existing \n   network.\n#. The entire application, including the configuration files, are Python code, \n   so you have considerable freedom to change the configuration based on things \n   like the name of the machine or the user when generating the SSH config file.\n\nDocumentation\n-------------\n\nYou can find documentation at `ReadTheDocs \u003chttps://sshconfig.readthedocs.io\u003e`_.\n\n\nIssues\n------\n\nPlease ask questions or report problems on\n`Github Issues \u003chttps://github.com/KenKundert/sshconfig/issues\u003e`_.\n\n\nContributions\n-------------\n\nContributions in the form of pull requests are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenkundert%2Fsshconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkenkundert%2Fsshconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenkundert%2Fsshconfig/lists"}