Metadata-Version: 2.1
Name: ssh-config
Version: 0.0.11
Summary: ssh client config manager
Home-page: https://github.com/haginara/ssh_config
Author: Jonghak Choi
Author-email: haginara@gmail.com
License: MIT License
Description: SSH Config
        ==========
        [![PyPI version](https://badge.fury.io/py/ssh-config.svg)](https://badge.fury.io/py/ssh-config)
        [![Build Status](https://travis-ci.org/haginara/ssh_config.svg?branch=master)](https://travis-ci.org/haginara/ssh_config)
        
        SSH client config file manager
        
        
        What is ssh_config?
        -------------------
        https://linux.die.net/man/5/ssh_config
        
        Why
        ---
        I don't remember all the servers I am managing. Also all servers requires all different configuration to connec to it. I know ~.ssh/config can handle this kind of issue. I want it to handle this file easier.
        
        Yes, I am not sure this is eaiser way to handle it. but I am trying.
        
        Requirements
        ------------
        Python 2.7, 3.6, 3.7
        
        Installation
        ------------
        ```
        $ pip install ssh-config
        ```
        
        Usage
        -----
        ```
        ssh-config.
        
            Usage:
                ssh-config [options] [COMMAND] [ARGS...]
        
            Options:
                -h --help           Show this screen.
                -v --version        Show version.
                -f --config FILE    Specify an ssh client file [default: ~/.ssh/config]
        
            Commands:
                ls          Show list of Hosts in client file
                add         Add new Host configuration
                update      UPdate Host configuration
                rm          Remove exist Host configuration
                import      Import Hosts from csv file to SSH Client config
                init        Create ~/.ssh/config file
                host        Get Host information
                version     Show version information
        ```
        
        Use-cases
        ---------
        
        #### List hosts
        ```
        $ ssh-config ls 
        # It shows name and HostName attribute
        server1: 203.0.113.76
        *: None
        server_cmd_1: 203.0.113.76
        server_cmd_2: 203.0.113.76
        server_cmd_3: 203.0.113.76
        ```
        
        ##### Add host
        ```
        $ ssh-config add "server_cmd_4" HostName=203.0.113.77 IdentityFile="~/.ssh/cmd_id_rsa"
        ```
        
        ##### Update host
        ```
        $ ssh-config add --update -p "server_cmd_3" IdentityFile="~/.ssh/cmd_id_rsa"
        ```
        
        ##### Remove host
        ```
        $ ssh-config rm "server_3" 
        ```
        
        ### Using pattern to get list or update exist hosts
        
        ##### List hosts with pattern
        ```
        $ ssh-config ls "server_*"
        # It shows name and HostName attribute
        server_cmd_1: 203.0.113.76
        server_cmd_2: 203.0.113.76
        server_cmd_3: 203.0.113.76
        ```
        
        ##### Update hosts with pattern
        ```
        $ ssh-config add --update -p "server_*" IdentityFile="~/.ssh/cmd_id_rsa"
        ```
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
