diff options
| author | Jeff Carr <[email protected]> | 2019-06-13 20:26:04 -0700 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2019-06-13 20:26:04 -0700 |
| commit | db4ffc0fa9ae0d032c05f3e3ac4dc0af4a48db8f (patch) | |
| tree | 3743bc1abfbada2c2cdd98e2113651ee161e73f4 | |
| parent | 49d36e287d983f72b2b2b5d903fb3bf55a44b440 (diff) | |
more ssh tests
Signed-off-by: Jeff Carr <[email protected]>
| -rw-r--r-- | shell.go | 18 | ||||
| -rw-r--r-- | ssh.go | 13 |
2 files changed, 30 insertions, 1 deletions
@@ -272,3 +272,21 @@ func Exec(cmdline string) { log.Println("shell.Exec() err =", err) os.Exit(0) } + +// return true if the filename exists +func Exists(filename string) bool { + _, err := os.Stat(filename) + if os.IsNotExist(err) { + return false + } + return true +} + +// return true if the filename exists +func Dir(dirname string) bool { + info, err := os.Stat(dirname) + if os.IsNotExist(err) { + return false + } + return info.IsDir() +} @@ -9,6 +9,7 @@ import "io/ioutil" import "path/filepath" import "strings" import "time" +import "runtime" import "golang.org/x/crypto/ssh" import "github.com/tmc/scp" @@ -24,7 +25,17 @@ func SSH(hostname string, port int, username string, pass string) *ssh.Session { user, _ := user.Current() - publicKey, err := PublicKeyFile(user.HomeDir + "/.ssh/id_ed25519") + keyfile := user.HomeDir + "/.ssh/id_ed25519" + if runtime.GOOS == "windows" { + if Exists("/cygwin") { + log.Println("On Windows, but running within cygwin") + keyfile = "/home/wit/.ssh/id_ed25519" + } else { + keyfile = user.HomeDir + "\\id_ed25519" + } + } + + publicKey, err := PublicKeyFile(keyfile) if (err != nil) { log.Println("PublicKeyFile() error =", err) } |
