From b095a1ca63ab4962e7256616ff02607c5a77e089 Mon Sep 17 00:00:00 2001 From: JDepooter Date: Wed, 16 Jan 2019 17:18:20 -0800 Subject: [PATCH] ssh: log the libssh2 error message when ssh session startup fails When a ssh session startup fails, it is useful to know why it has failed. This commit changes the message from: "Failure establishing ssh session" to something like this, for example: "Failure establishing ssh session: -5, Unable to exchange encryption keys" Closes #3481 --- lib/ssh.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ssh.c b/lib/ssh.c index f3b0a58be..8c68adcc1 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -667,7 +667,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) break; } if(rc) { - failf(data, "Failure establishing ssh session"); + char *err_msg = NULL; + (void)libssh2_session_last_error(sshc->ssh_session, &err_msg, NULL, 0); + failf(data, "Failure establishing ssh session: %d, %s", rc, err_msg); + state(conn, SSH_SESSION_FREE); sshc->actualcode = CURLE_FAILED_INIT; break;