With an OpenSSH 6.2p1 client with stock ssh_config and one of the
following cases:
- I don't have any client keys
- I have one or more client keys, but not one of each type
- I don't have an authorized_keys on the server
- I have an authorized_keys on the server, but it does not list any of
the keys I have
- One of my client keys is listed, but I don't have an agent and
decline to type the passphrase
I get one or more of the following messages, depending on whether I have
a client key of each type:
no such identity: /home/des/.ssh/id_rsa: No such file or directory
no such identity: /home/des/.ssh/id_dsa: No such file or directory
no such identity: /home/des/.ssh/id_ecdsa: No such file or directory
load_identity_file() in sshconnect2.c prints this message if its
userprovided argument is non-zero. The value comes from a struct
identity which is populated in pubkey_prepare() in the same file;
userprovided is set to 1 if the keyfile name comes from the client
option structure. However, in this case, options.identity_keys is the
hardcoded default; I wouldn't say that really qualifies as "user
provided".
The attached patch adds a flag to the option structure which is set to 1
if and only if the IdentityFile option was encountered either in the
configuration file or on the command line.
DES
--
Dag-Erling Sm?rgrav - des at des.no
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openssh-user-provided-identity-file.diff
Type: text/x-patch
Size: 1522 bytes
Desc: not available
URL:
<http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20130401/84eb47be/attachment-0001.bin>