summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/sshconnect.c
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2019-10-31 21:20:38 +0000
committerdjm <djm@openbsd.org>2019-10-31 21:20:38 +0000
commit9fb573113919e34cca9c0c1202914690c0424769 (patch)
treeea8d3cf0a62a6b670cdd4dba9a6a011d5edd4ffa /usr.bin/ssh/sshconnect.c
parentssh-add support for U2F/FIDO keys (diff)
downloadwireguard-openbsd-9fb573113919e34cca9c0c1202914690c0424769.tar.xz
wireguard-openbsd-9fb573113919e34cca9c0c1202914690c0424769.zip
ssh AddKeysToAgent support for U2F/FIDO keys
feedback & ok markus@
Diffstat (limited to 'usr.bin/ssh/sshconnect.c')
-rw-r--r--usr.bin/ssh/sshconnect.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.bin/ssh/sshconnect.c b/usr.bin/ssh/sshconnect.c
index fefce1cd453..99b96b04687 100644
--- a/usr.bin/ssh/sshconnect.c
+++ b/usr.bin/ssh/sshconnect.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect.c,v 1.320 2019/10/31 21:19:15 djm Exp $ */
+/* $OpenBSD: sshconnect.c,v 1.321 2019/10/31 21:20:38 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1370,6 +1370,7 @@ maybe_add_key_to_agent(char *authfile, struct sshkey *private,
char *comment, char *passphrase)
{
int auth_sock = -1, r;
+ const char *skprovider = NULL;
if (options.add_keys_to_agent == 0)
return;
@@ -1385,9 +1386,10 @@ maybe_add_key_to_agent(char *authfile, struct sshkey *private,
close(auth_sock);
return;
}
-
+ if (sshkey_type_plain(private->type) == KEY_ECDSA_SK)
+ skprovider = options.sk_provider;
if ((r = ssh_add_identity_constrained(auth_sock, private, comment, 0,
- (options.add_keys_to_agent == 3), 0, NULL)) == 0)
+ (options.add_keys_to_agent == 3), 0, skprovider)) == 0)
debug("identity added to agent: %s", authfile);
else
debug("could not add identity to agent: %s (%d)", authfile, r);