The message ssh: handshake failed: ssh: unexpected message type 3 (expected one of [6])
is from the spate of problems/fixes due to the recent rekeying rewrite. For the original message, it looks like the server hasn't enabled keyboard-interactive, but it's hard to tell. Easiest is to set debugHandshake = true and see what the log messages say. On Tue, Feb 7, 2017 at 4:15 AM, Brad Fitzpatrick <bradf...@golang.org> wrote: > Maybe Han-Wen, copied, knows. > > > On Mon, Feb 6, 2017 at 7:00 PM, Robert Hsiung <xiong0...@gmail.com> wrote: >> >> Hi Brad: >> Thanks so much for your suggestion. I run "ssh -v" and get useful >> information as attachment.So,I modify the code,but occurred the different >> problem as below. >> ssh: handshake failed: ssh: unexpected message type 3 (expected one of >> [6]) >> >> // ftp >> >> package main >> >> >> >> import ( >> >> "fmt" >> >> >> >> "github.com/pkg/sftp" >> >> "golang.org/x/crypto/ssh" >> >> ) >> >> >> >> func main() { >> >> c := &ssh.ClientConfig{ >> >> User: "root", >> >> Auth: []ssh.AuthMethod{ >> >> ssh.Password("12345678"), >> >> }, >> >> } >> >> connection, err := ssh.Dial("tcp", "192.168.44.129:22", c) // replace >> this >> >> if err != nil { >> >> fmt.Println(err) >> >> return >> >> } >> >> >> >> server, err := sftp.NewClient(connection) >> >> if err != nil { >> >> fmt.Println(err) >> >> return >> >> } >> >> >> >> dir, err := server.ReadDir(".") >> >> if err != nil { >> >> fmt.Println(err) >> >> return >> >> } >> >> for _, fi := range dir { >> >> fmt.Println(fi.Name()) >> >> } >> >> } >> >> >> 2017-02-07 0:55 GMT+08:00 Brad Fitzpatrick <bradf...@golang.org>: >>> >>> From looking at: >>> >>> ssh: unable to authenticate, attempted methods [none], no supported >>> methods remain >>> >>> It seems like your ssh server requires a different authentication mode >>> and doesn't support KeyboardInteractive (a password). >>> >>> Does the standard ssh client work? What does "ssh -v" say? >>> >>> >>> On Mon, Feb 6, 2017 at 1:25 AM, Robert Hsiung <xiong0...@gmail.com> >>> wrote: >>>> >>>> Dear all: >>>> I tried to test sftp function with below coding,but occurred problem as >>>> below. Please give me suggestions. Thanks so much. >>>> ssh: handshake failed: ssh: unable to authenticate, attempted methods >>>> [none], no supported methods remain >>>> >>>> >>>> >>>> package main >>>> >>>> import ( >>>> "fmt" >>>> "github.com/pkg/sftp" >>>> "golang.org/x/crypto/ssh" >>>> ) >>>> >>>> func main() { >>>> >>>> c := &ssh.ClientConfig{ >>>> User: "root", // replace this >>>> Auth: []ssh.AuthMethod{ >>>> ssh.KeyboardInteractive(func(user, instruction string, questions >>>> []string, echos []bool) ([]string, error) { >>>> // Just send the password back for all questions >>>> answers := make([]string, len(questions)) >>>> for i, _ := range answers { >>>> answers[i] = "12345678" // replace this >>>> } >>>> >>>> return answers, nil >>>> }), >>>> }, >>>> } >>>> >>>> connection, err := ssh.Dial("tcp", "192.168.0.1:22", c) // replace this >>>> if err != nil { >>>> fmt.Println(err) >>>> return >>>> } >>>> >>>> server, err := sftp.NewClient(connection) >>>> if err != nil { >>>> fmt.Println(err) >>>> return >>>> } >>>> >>>> dir, err := server.ReadDir(".") >>>> if err != nil { >>>> fmt.Println(err) >>>> return >>>> } >>>> >>>> for _, fi := range dir { >>>> fmt.Println(fi.Name()) >>>> } >>>> } >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "golang-nuts" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to golang-nuts+unsubscr...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>> >>> >> > -- Han-Wen Nienhuys Google Munich han...@google.com -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.