Skip to content

mikkeloscar/sshconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSSH config parser for golang

Go Reference Go Report Card Coverage Status

Parses the config usually found in ~/.ssh/config or /etc/ssh/ssh_config. Only Host, HostName, User, Port, IdentityFile, HostKeyAlgorithms, ProxyCommand, LocalForward, RemoteForward, DynamicForward, Ciphers and MACs is implemented at this point.

OpenSSH Reference.

Usage

Example usage

package main

import (
    "fmt"

    "github.com/mikkeloscar/sshconfig"
)

func main() {
    hosts, err := sshconfig.Parse("/path/to/ssh_config")
    if err != nil {
        fmt.Println(err)
    }

    for _, host := range hosts {
       fmt.Printf("Hostname: %s", host.HostName)
    }
}

LICENSE

Copyright (C) 2022 Mikkel Oscar Lyderik Larsen & Contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.