mikkeloscar / sshconfig

Golang OpenSSH config parser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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/.

About

Golang OpenSSH config parser

License:GNU General Public License v3.0


Languages

Language:Go 100.0%