| // Copyright 2016 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| "golang.org/x/crypto/ssh" |
| "golang.org/x/crypto/ssh/agent" |
| func ExampleClientAgent() { |
| // ssh-agent has a UNIX socket under $SSH_AUTH_SOCK |
| socket := os.Getenv("SSH_AUTH_SOCK") |
| conn, err := net.Dial("unix", socket) |
| log.Fatalf("net.Dial: %v", err) |
| agentClient := agent.NewClient(conn) |
| config := &ssh.ClientConfig{ |
| // Use a callback rather than PublicKeys |
| // so we only consult the agent once the remote server |
| ssh.PublicKeysCallback(agentClient.Signers), |
| HostKeyCallback: ssh.InsecureIgnoreHostKey(), |
| sshc, err := ssh.Dial("tcp", "localhost:22", config) |
| log.Fatalf("Dial: %v", err) |