Open mraxrorxon opened 2 years ago
Could you maybe share the whole of your function(s)? And encase it in a triple-backtick code block? There is not really enough information here to diagnose what might be going on.
My problem was the section Subsystem
in /etc/ssh/sshd_config
of the target server was wrong or missing. Fixed by correcting this section then restart the service.
But to be honest, the error io.EOF
returned is very confusing, maybe we should add diagnosis here?
func (c *Client) recvVersion() error {
typ, data, err := c.recvPacket(0)
if err == io.EOF {
// do some diagnose here
err = nil
}
...
}
Hm… yeah, we could probably do something there, but there’s not much to diagnose at that point. If we get an EOF there, then we’re stuck in an unrecoverable state. However, we could use fmt.Errorf("problem receiving version packet: %w", err)
or maybe even convert it to io.ErrUnexpectedEOF
as well.
Yea, and maybe we should add some comments if someone has the same problem. Hope this help someone.
I create sshClient like this: if sshClient, err = ssh.Dial("tcp", addr, clientConfig); err != nil { return nil, err }; and sshClient is created successfully, after that create sftp client like this:
if sftpClient, err = sftp.NewClient(sshClient); err != nil { return nil, err } here I get an error "EOF" Please help this, where is a problam?