Jak mohu určit pořadí, ve kterém klient SSH OpenSSH (OpenSSH_7.5p1, OpenSSL 1.0.2k 26. ledna 2017; Git pro Windows v2.11.1) nabízí páry veřejných/soukromých klíčů démonu kompatibilnímu s SSH, jako je Apache Mina SSHD (Gerrit Služba Code Review). Mým záměrem je pokusit se ověřit pomocí páru veřejného/soukromého klíče Ed25519, než se vrátím k RSA.
S ohledem na následující standardní páry klíčů Ed25519 a RSA veřejný/soukromý pod domovským adresářem uživatele:
~/.ssh/id_ed25519{,.pub}
~/.ssh/id_rsa{,.pub}
a následující sekce hostitele v konfiguračním souboru SSH uživatele (~/.ssh/config):
Host foobar foobar.example.com
Hostname foobar.example.com
IdentityFile ~/.ssh/id_ed25519
Host *
IdentityFile ~/.ssh/id_ed25519
IdentityFile ~/.ssh/id_rsa
při testování připojení SSH v režimu ladění:
$ ssh -Tv [email protected]
debug1: Reading configuration data ~/.ssh/config
debug1: ~/.ssh/config line 49: Applying options for foobar
debug1: ~/.ssh/config line 63: Applying options for *
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering ED25519 public key: ~/.ssh/id_ed25519
debug1: Server accepts key: pkalg ssh-ed25519 blen 51
debug1: Authentication succeeded (publickey).
Vidím, že klient OpenSSH SSH nabízí nejprve pár veřejného/soukromého klíče RSA. Ale proč ne nejprve Ed25519?
Přijatá odpověď:
Přidejte IdentitiesOnly
volba. Bez této možnosti SSH zkouší první dostupné výchozí ssh klíče:id_rsa
, id_dsa
, id_ecdsa
. Chcete-li toto chování změnit, nahraďte svou konfiguraci tímto:
Host foobar foobar.example.com
Hostname foobar.example.com
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host *
IdentityFile ~/.ssh/id_ed25519
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes