russh icon indicating copy to clipboard operation
russh copied to clipboard

Session error: early eof, when trying to close ssh session

Open zim32 opened this issue 1 year ago • 0 comments

I'm trying to close ssh session after client sends EOF, using this sequence:

log::debug!("sending exit_status_request");
session.exit_status_request(channel, 0);

log::debug!("sending eof");
session.eof(channel);

log::debug!("sending close channel");
session.close(channel);

Session is closed but I got Session error: early eof error. Seems like you are using tokio read_exact, passing buffer, and when read_exact can not read exact number of bytes to fill entire buffer it returns eof error and this library just forwards this error to client code.

I don't know is it a bug or feature, but in my opinion this library should handle https://doc.rust-lang.org/nightly/std/io/enum.ErrorKind.html#variant.UnexpectedEof error and shutdown session gracefully.

zim32 avatar Feb 17 '24 22:02 zim32