github.com/driusan/dgit@v0.0.0-20221118233547-f39f0c15edbb/git/ssh_unix.go (about) 1 //go:build dragonfly || openbsd || darwin || freebsd || netbsd || solaris || linux 2 // +build dragonfly openbsd darwin freebsd netbsd solaris linux 3 4 package git 5 6 import ( 7 "golang.org/x/crypto/ssh" 8 "io/ioutil" 9 "os/user" 10 ) 11 12 func getSigners() ([]ssh.Signer, error) { 13 user, err := user.Current() 14 if err != nil { 15 return nil, nil 16 } 17 f, err := ioutil.ReadFile(user.HomeDir + "/.ssh/id_rsa") 18 if err != nil { 19 return nil, nil 20 } 21 key, err := ssh.ParsePrivateKey(f) 22 if err != nil { 23 return nil, err 24 } 25 return []ssh.Signer{key}, nil 26 }