github.com/ablease/cli@v6.37.1-0.20180613014814-3adbb7d7fb19+incompatible/util/clissh/secure_dialer.go (about) 1 package clissh 2 3 import ( 4 "golang.org/x/crypto/ssh" 5 "golang.org/x/net/proxy" 6 ) 7 8 type fakeConn struct{} 9 10 type secureDialer struct{} 11 12 func DefaultSecureDialer() secureDialer { 13 return secureDialer{} 14 } 15 16 func (secureDialer) Dial(network string, address string, config *ssh.ClientConfig) (SecureClient, error) { 17 conn, err := proxy.FromEnvironment().Dial(network, address) 18 if err != nil { 19 return secureClient{}, err 20 } 21 22 c, chans, reqs, err := ssh.NewClientConn(conn, address, config) 23 if err != nil { 24 return secureClient{}, err 25 } 26 client := ssh.NewClient(c, chans, reqs) 27 28 return secureClient{client: client}, nil 29 }