22 lines
377 B
Go
22 lines
377 B
Go
|
|
//go:build !windows
|
||
|
|
|
||
|
|
package starssh
|
||
|
|
|
||
|
|
import (
|
||
|
|
"net"
|
||
|
|
"os"
|
||
|
|
"strings"
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
func dialSSHAgent(timeout time.Duration) (net.Conn, error) {
|
||
|
|
agentSock := strings.TrimSpace(os.Getenv("SSH_AUTH_SOCK"))
|
||
|
|
if agentSock == "" {
|
||
|
|
return nil, errSSHAgentUnavailable
|
||
|
|
}
|
||
|
|
if timeout > 0 {
|
||
|
|
return net.DialTimeout("unix", agentSock, timeout)
|
||
|
|
}
|
||
|
|
return net.Dial("unix", agentSock)
|
||
|
|
}
|