Hello and thanks for this bug report. In my understanding, when ssh-
agent is in use, what matters is the order in which identities are added
to the agent. While I agree this is not clearly documented it's likely
that openssh is just working as expected.

The new agent restrictions feature of OpenSSH 8.9 may help in your
specific use case, see [1].

I'm marking this bug report as Incomplete for now. If you agree that we
don't have a bug in Ubuntu here please change the report status to
Invalid, otherwise comment back explaining why you do believe this is a
bug in Ubuntu and we'll look at this again. Thanks!

[1] https://www.openssh.com/agent-restrict.html

** Changed in: openssh (Ubuntu)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1991427

Title:
  ssh doesn't offer identity files in the right order

Status in openssh package in Ubuntu:
  Incomplete

Bug description:
  "man ssh_config" claims that the "IdentityFile"s will be tried in
  sequence:

  IdentityFile
          Specifies a file from which the user's DSA, ECDSA, 
authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA au‐
          thentication identity is read.  The default is ~/.ssh/id_rsa, 
~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
          ~/.ssh/id_ed25519_sk and ~/.ssh/id_dsa.  Additionally, any identities 
represented by the authentication agent will be used for
          authentication unless IdentitiesOnly is set.  If no certificates have 
been explicitly specified by CertificateFile, ssh(1) will
          try to load certificate information from the filename obtained by 
appending -cert.pub to the path of a specified IdentityFile.

          Arguments to IdentityFile may use the tilde syntax to refer to a 
user's home directory or the tokens described in the TOKENS sec‐
          tion.

          It is possible to have multiple identity files specified in 
configuration files; all these identities will be tried in sequence.
          Multiple IdentityFile directives will add to the list of identities 
tried (this behaviour differs from that of other configura‐
          tion directives).

          IdentityFile may be used in conjunction with IdentitiesOnly to select 
which identities in an agent are offered during authentica‐
          tion.  IdentityFile may also be used in conjunction with 
CertificateFile in order to provide any certificate also needed for au‐
          thentication with the identity.

  Yet it doesn't try them in the order specified ("id_ed25519-postfix"
  comes before "id_ed25519" in my "~/.ssh/config"):

  debug1: Connection established.
  debug1: identity file /home/user/.ssh/id_ed25519-postfix type 3
  debug1: identity file /home/user/.ssh/id_ed25519-postfix-cert type -1
  debug1: identity file /home/user/.ssh/id_ed25519 type 3
  debug1: identity file /home/user/.ssh/id_ed25519-cert type -1
  debug1: Local version string SSH-2.0-OpenSSH_8.9p1 Ubuntu-3
  ...
  debug1: Will attempt key: /home/user/.ssh/id_ed25519 ED25519 
SHA256:<redacted> explicit agent
  debug1: Will attempt key: /home/user/.ssh/id_ed25519-postfix ED25519 
SHA256:<redacted> explicit agent

  This causes the wrong key to be used for log in.  This is especially
  problematic when using Git over SSH, which causes the server to report
  repository doesn't exist as the username are the same and the key
  dictates the account being logged in, and instead of getting a
  permission denied the server would give out a more confusing message,
  misleading the direction the user goes to debug.

  Ubuntu 22.04.1 with openssh-client 1:8.9p1-3

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1991427/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to