lavf/libssh: improve authentication

- Add authentication using keys
- Provide better message on fail

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
This commit is contained in:
Lukasz Marek 2013-12-28 19:34:29 +01:00
parent 247a8fa70f
commit 8ba77dfbc2

View file

@ -91,10 +91,13 @@ static int libssh_open(URLContext *h, const char *url, int flags)
goto fail; goto fail;
} }
if (pass && ssh_userauth_password(s->session, NULL, pass) != SSH_AUTH_SUCCESS) { if (ssh_userauth_autopubkey(s->session, pass) != SSH_AUTH_SUCCESS) {
av_log(h, AV_LOG_ERROR, "Error authenticating with password: %s\n", ssh_get_error(s->session)); av_log(s, AV_LOG_DEBUG, "Authentication using public key failed, trying password method.\n");
ret = AVERROR(EACCES); if (ssh_userauth_password(s->session, NULL, pass) != SSH_AUTH_SUCCESS) {
goto fail; av_log(h, AV_LOG_ERROR, "Authentication failed.\n");
ret = AVERROR(EACCES);
goto fail;
}
} }
if (!(s->sftp = sftp_new(s->session))) { if (!(s->sftp = sftp_new(s->session))) {