(wg *sync.WaitGroup, dest io.Writer, src io.Reader)
| 353 | } |
| 354 | |
| 355 | func copyAndDone(wg *sync.WaitGroup, dest io.Writer, src io.Reader) { |
| 356 | _, err := io.Copy(dest, src) |
| 357 | if err != nil { |
| 358 | log.Errorln("copy and done:", err) |
| 359 | } |
| 360 | wg.Done() |
| 361 | } |
| 362 | |
| 363 | func fingerprintCallback(skipHostValidation bool, expectedFingerprint string) ssh.HostKeyCallback { |
| 364 | return func(hostname string, remote net.Addr, key ssh.PublicKey) error { |