Parses the config usually found in ~/.ssh/config
or /etc/ssh/ssh_config
.
Only Host
, HostName
, User
, Port
, IdentityFile
, HostKeyAlgorithms
, ProxyCommand
, LocalForward
, RemoteForward
and DynamicForward
is implemented at
this point.
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)
}
}
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/.