From c07ebbe98d4e7f48bfedcbff64df99e23370dde9 Mon Sep 17 00:00:00 2001 From: Kevin Burke Date: Mon, 17 Apr 2017 11:24:14 -0700 Subject: [PATCH] add very basic README --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2cade6a --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# ssh_config + +This is a Go parser for `ssh_config` files. Importantly, this parser attempts to +preserve comments, so you can manipulate a `ssh_config` file from a program, if +your heart wishes. + +Example usage: + +```go +f, _ := os.Open(filepath.Join(os.Getenv("HOME"), ".ssh", "config")) +cfg, _ := ssh_config.LoadReader(f) +for _, host := range cfg.Hosts { + fmt.Println("patterns:", host.Patterns) + for _, node := range host.Nodes { + fmt.Println(node.String()) + } +} + +// Write the cfg back to disk: +fmt.Println(cfg.String()) +``` + +This is very alpha software. In particular the most useful thing you want to do +with this is figure out the correct HostName and User for a particular host +pattern. There's no way to do this, currently.