Golang copy remote file to local folder using sftp golang library
<p>I got the code for create a file on remote host:</p>

<pre><code>config := &amp;ssh.ClientConfig{
    User:            "xx",
    HostKeyCallback: nil,
    Auth: []ssh.AuthMethod{
        ssh.Password("xx"),
    },
}

config.SetDefaults()
sshConn, err := ssh.Dial("tcp", "192.xx.1.xx:22", config)
if err != nil {
    panic(err)
}
defer sshConn.Close()

client, err := sftp.NewClient(sshConn)
if err != nil {
    panic(err)
}
defer client.Close()

file, err := client.Create("/www/hello9.txt")
if err != nil {
    panic(err)
}
defer file.Close()

if _, err := file.Write([]byte("Hello world")); err != nil {
    log.Fatal(err)
}
</code></pre>

<p>But is needed to copy a file from remote host to local host. How can I achieve this using the golang tools <strong>github.com/pkg/sftp</strong> and <strong>golang.org/x/crypto/ssh</strong> only?</p>