Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikkeloscar/sshconfig
Golang OpenSSH config parser
https://github.com/mikkeloscar/sshconfig
Last synced: about 2 months ago
JSON representation
Golang OpenSSH config parser
- Host: GitHub
- URL: https://github.com/mikkeloscar/sshconfig
- Owner: mikkeloscar
- License: gpl-3.0
- Created: 2015-04-15T20:22:50.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-02-16T09:48:14.000Z (10 months ago)
- Last Synced: 2024-10-17T01:30:58.616Z (2 months ago)
- Language: Go
- Size: 46.9 KB
- Stars: 59
- Watchers: 5
- Forks: 18
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - sshconfig
README
# OpenSSH config parser for golang
[![Go Reference](https://pkg.go.dev/badge/github.com/mikkeloscar/sshconfig.svg)](https://pkg.go.dev/github.com/mikkeloscar/sshconfig)
[![Go Report Card](https://goreportcard.com/badge/github.com/mikkeloscar/sshconfig)](https://goreportcard.com/report/github.com/mikkeloscar/sshconfig)
[![Coverage Status](https://coveralls.io/repos/github/mikkeloscar/sshconfig/badge.svg)](https://coveralls.io/github/mikkeloscar/sshconfig)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.][openssh_man]
## Usage
Example usage
```go
package mainimport (
"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 .[openssh_man]: http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/ssh_config.5?query=ssh_config&sec=5