FIDO/U8.2F рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЯреЛрдХрдирд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╕рд╣ OpenSSH 2 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рдЪрд╛рд░ рдорд╣рд┐рдиреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдирдВрддрд░ рд╕рд╛рджрд░ рд░реАрд▓рд┐рдЭ рдУрдкрдирдПрд╕рдПрдЪ рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕, SSH 2.0 рдЖрдгрд┐ SFTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдУрдкрди рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА.

OpenSSH 8.2 рдЪреНрдпрд╛ рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рдореБрдЦреНрдп рд╕реБрдзрд╛рд░рдгрд╛ рдореНрд╣рдгрдЬреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░реА рдЙрдкрдХрд░рдгреЗ рд╡рд╛рдкрд░реВрди рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. U2F, рдпреБрддреАрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдлрд┐рдбреЛ. U2F рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреА рднреМрддрд┐рдХ рдЙрдкрд╕реНрдерд┐рддреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╢реА USB, Bluetooth рдХрд┐рдВрд╡рд╛ NFC рджреНрд╡рд╛рд░реЗ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рдХрдореА рдХрд┐рдорддреАрдЪреЗ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЯреЛрдХрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЕрд╢рд╛ рдЙрдкрдХрд░рдгрд╛рдВрдЪрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕рд╡рд░ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдЪреЗ рд╕рд╛рдзрди рдореНрд╣рдгреВрди рдкреНрд░рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рддреЗ рдЖрдзреАрдЪ рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЭрд░рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗрдд рдЖрдгрд┐ рдпреБрдмрд┐рдХреЛ, рдлреЗрдЗрдЯрд┐рдпрди, рдереЗрдЯрд┐рд╕ рдЖрдгрд┐ рдХреЗрдиреНрд╕рд┐рдВрдЧреНрдЯрдирд╕рд╣ рд╡рд┐рд╡рд┐рдз рдЙрддреНрдкрд╛рджрдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдЙрддреНрдкрд╛рджрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрдЪреА рдкреБрд╖реНрдЯреА рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдЙрдкрдХрд░рдгрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА, рдирд╡реАрди рдХреА рдкреНрд░рдХрд╛рд░ тАЬecdsa-skтАЭ рдЖрдгрд┐ тАЬed25519-skтАЭ OpenSSH рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ SHA-25519 рд╣реЕрд╢рд╕рд╣ рдПрдХрддреНрд░рд┐рддрдкрдгреЗ ECDSA рдЖрдгрд┐ Ed256 рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рддрд╛рдд. рдЯреЛрдХрдиреНрд╕рд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдордзреНрдпрд╡рд░реНрддреА рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдареЗрд╡рд▓реА рдЬрд╛рддреЗ, рдЬреА PKCS#11 рд╕рдорд░реНрдердирд╛рд╕рд╛рдареА рд▓рд╛рдпрдмреНрд░рд░реАрдкреНрд░рдорд╛рдгреЗрдЪ рд▓реЛрдб рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╡рд░ рдПрдХ рдЖрд╡рд░рдг рдЕрд╕рддреЗ. libfido2, рдЬреЗ USB рд╡рд░ рдЯреЛрдХрдиреНрд╕рд╕рд╣ рд╕рдВрдкреНрд░реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ (FIDO U2F/CTAP 1 рдЖрдгрд┐ FIDO 2.0/CTAP 2 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗрдд). рдордзреНрдпрд╡рд░реНрддреА рд▓рд╛рдпрдмреНрд░рд░реА libsk-libfido2 OpenSSH рд╡рд┐рдХрд╕рдХрд╛рдВрдиреА рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрд╣реЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЛрд░ libfido2 рдордзреНрдпреЗ, рддрд╕реЗрдЪ HID рдбреНрд░рд╛рдпрд╡реНрд╣рд░ OpenBSD рд╕рд╛рдареА.

рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдХреА рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ "SecurityKeyProvider" рдкреЕрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ SSH_SK_PROVIDER рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдмрд╛рд╣реНрдп рд▓рд╛рдпрдмреНрд░рд░реА libsk-libfido2.so (рдирд┐рд░реНрдпрд╛рдд SSH_SK_PROVIDER=/path/to/libdo. рдореНрд╣рдгреВрди). рд▓реЗрдпрд░ рд▓рд╛рдпрдмреНрд░рд░реА (--рд╕рд╣-рд╕реБрд░рдХреНрд╖рд╛-рдХреА-рдмрд┐рд▓реНрдЯрд┐рди) рд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рд╕рдорд░реНрдердирд╛рд╕рд╣ openssh рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рддреБрдореНрд╣рд╛рд▓рд╛ тАЬSecurityKeyProvider=internalтАЭ рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдкреБрдвреЗ рддреБрдореНрд╣рд╛рд▓рд╛ "ssh-keygen -t ecdsa-sk" рдЪрд╛рд▓рд╡рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдХрд┐рдВрд╡рд╛, рдЬрд░ рдХреА рдЖрдзреАрдЪ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реНрдпрд╛ рдЕрд╕рддреАрд▓ рддрд░, "ssh" рд╡рд╛рдкрд░реВрди рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рд╛. рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА ssh-keygen рдЪрд╛рд▓рд╡рддрд╛, рддреЗрд╡реНрд╣рд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реА рдХреА рдЬреЛрдбреА тАЬ~/.ssh/id_ecdsa_skтАЭ рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдЗрддрд░ рдХреА рдкреНрд░рдорд╛рдгреЗрдЪ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА (id_ecdsa_sk.pub) рдЕрдзрд┐рдХреГрдд_рдХреА рдлрд╛рдЗрд▓рдордзреАрд▓ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреЙрдкреА рдХреЗрд▓реА рдЬрд╛рд╡реА. рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ, рдлрдХреНрдд рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдкрдбрддрд╛рд│рдгреА рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЖрдгрд┐ рдЯреЛрдХрдирд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ (рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ libsk-libfido2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╕рд░реНрд╡реНрд╣рд░рдиреЗ тАЬecdsa-skтАЭ рдХреА рдкреНрд░рдХрд╛рд░рд╛рд▓рд╛ рд╕рдорд░реНрдерди рджрд┐рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ) . рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реА рдЦрд╛рдЬрдЧреА рдХреА (id_ecdsa_sk) рдореВрд▓рдд: рдПрдХ рдХреА рд╣рдБрдбрд▓ рдЕрд╕рддреЗ, рдЬреА U2F рдЯреЛрдХрди рдмрд╛рдЬреВрд╡рд░ рд╕рд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдЧреБрдкреНрдд рдХреНрд░рдорд╛рдЪреНрдпрд╛ рд╕рдВрдпреЛрдЧрд╛рдиреЗрдЪ рдЦрд░реА рдХреА рдмрдирддреЗ. id_ecdsa_sk рдХреА рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╣рд╛рддрд╛рдд рдкрдбрд▓реНрдпрд╛рд╕, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд▓рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЯреЛрдХрдирдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рджреЗрдЦреАрд▓ рдорд┐рд│рд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓, рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп id_ecdsa_sk рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╕рд╛рдард╡рд▓реЗрд▓реА рдЦрд╛рдЬрдЧреА рдХреА рдирд┐рд░реБрдкрдпреЛрдЧреА рдЖрд╣реЗ.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдХреА рд╕рд╣ рдХреЛрдгрддреАрд╣реА рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рддрд╛рдирд╛ (рдЬрдирд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рдЖрдгрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рджрд░рдореНрдпрд╛рди рджреЛрдиреНрд╣реА), рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рднреМрддрд┐рдХ рдЙрдкрд╕реНрдерд┐рддреАрдЪреА рд╕реНрдерд╛рдирд┐рдХ рдкреБрд╖реНрдЯреА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЯреЛрдХрдирд╡рд░реАрд▓ рд╕реЗрдиреНрд╕рд░рд▓рд╛ рд╕реНрдкрд░реНрд╢ рдХрд░рдгреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреЗ рдХрдареАрдг рд╣реЛрддреЗ. рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЯреЛрдХрдирд╕рд╣ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рджреВрд░рд╕реНрде рд╣рд▓реНрд▓реЗ рдХрд░рд╛. рд╕рдВрд░рдХреНрд╖рдгрд╛рдЪреА рджреБрд╕рд░реА рдУрд│ рдореНрд╣рдгреВрди, рдХреА рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА ssh-keygen рдЪреНрдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЯрдкреНрдкреНрдпрд╛рдд рдкрд╛рд╕рд╡рд░реНрдб рджреЗрдЦреАрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рдУрдкрдирдПрд╕рдПрд╕рдПрдЪрдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдиреЗ SHA-1 рд╣реЕрд╢ рд╡рд╛рдкрд░реВрди рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рдЖрдЧрд╛рдореА рдирд╛рдкрд╕рдВрддреАрдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА рдЖрд╣реЗ. рдЬрд╛рд╣рд┐рд░рд╛рдд рджрд┐рд▓реЗрд▓реНрдпрд╛ рдЙрдкрд╕рд░реНрдЧрд╛рд╕рд╣ рдЯрдХреНрдХрд░ рд╣рд▓реНрд▓реНрдпрд╛рдЪреА рдкреНрд░рднрд╛рд╡реАрддрд╛ (рдЯрдХреНрдХрд░ рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдХрд┐рдВрдордд рдЕрдВрджрд╛рдЬреЗ 45 рд╣рдЬрд╛рд░ рдбреЙрд▓рд░реНрд╕ рдЖрд╣реЗ). рдЖрдЧрд╛рдореА рдкреНрд░рдХрд╛рд╢рдирд╛рдВрдкреИрдХреА рдПрдХрд╛рдордзреНрдпреЗ, рддреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо "ssh-rsa" рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдЪрд╛ SSH рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╛рдареА рдореВрд│ RFC рдордзреНрдпреЗ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рд╡реНрдпрд╛рдкрдХ рдЖрд╣реЗ (рд╡рд╛рдкрд░рд╛рдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдордЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ ssh-rsa рдЪреЗ, рддреБрдореНрд╣реА тАЬ-oHostKeyAlgorithms=-ssh-rsaтАЭ) рдкрд░реНрдпрд╛рдпрд╛рд╕рд╣ ssh рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛.

OpenSSH рдордзреАрд▓ рдирд╡реАрди рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреНрдпреЗ рд╕рдВрдХреНрд░рдордг рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рднрд╡рд┐рд╖реНрдпрд╛рдд рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ UpdateHostKeys рд╕реЗрдЯрд┐рдВрдЧ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо рдХреЗрд▓реА рдЬрд╛рдИрд▓, рдЬреА рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╡рд░ рдЖрдкреЛрдЖрдк рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░реЗрд▓. рд╕реНрдерд▓рд╛рдВрддрд░рд╛рд╕рд╛рдареА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреНрдпреЗ RFC2 RSA SHA-256 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд rsa-sha512-8332/2 (OpenSSH 7.2 рдкрд╛рд╕реВрди рд╕рдорд░реНрдерд┐рдд рдЖрдгрд┐ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ), ssh-ed25519 (OpenSSH 6.5 рдкрд╛рд╕реВрди рд╕рдорд░реНрдерд┐рдд) рдЖрдгрд┐ ecdsa-sha2-nistp256/384/рдЖрдзрд╛рд░рд┐рдд RFC521 ECDSA рд╡рд░ (OpenSSH 5656 рдкрд╛рд╕реВрди рд╕рдорд░реНрдерд┐рдд).

OpenSSH 8.2 рдордзреНрдпреЗ, тАЬssh-rsaтАЭ рд╡рд╛рдкрд░реВрди рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЕрджреНрдпрд╛рдк рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣рд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо CASignatureAlgorithms рд╕реВрдЪреАрдордзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ, рдЬреЗ рдирд╡реАрди рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрд╡рд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреБрдордд рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ. рддреНрдпрд╛рдЪрдкреНрд░рдорд╛рдгреЗ, рдбрд┐рдлреЙрд▓реНрдЯ рдХреА рдПрдХреНрд╕рдЪреЗрдВрдЬ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рдорд░реНрдерд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбрд┐рдлреЙрд▓реНрдЯ рдХреА рдПрдХреНрд╕рдЪреЗрдВрдЬ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреВрди рдбрд┐рдлреА-рд╣реЗрд▓рдореЕрди-рдЧреНрд░реБрдк14-sha1 рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. рд╣реЗ рдирдореВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ рдХреА рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдордзреНрдпреЗ SHA-1 рдЪрд╛ рд╡рд╛рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдЦрдореАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ, рдХрд╛рд░рдг рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рдХрдбреЗ рд╡рд┐рджреНрдпрдорд╛рди рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╛рдареА рдЯрдХреНрдХрд░ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдорд░реНрдпрд╛рджрд┐рдд рд╡реЗрд│ рдЖрд╣реЗ, рддрд░ рд╣реЛрд╕реНрдЯ рдХреАрд╡рд░реАрд▓ рд╣рд▓реНрд▓реНрдпрд╛рдЪреА рд╡реЗрд│ рдХрдиреЗрдХреНрд╢рди рдХрд╛рд▓рдмрд╛рд╣реНрдпрддреЗрдиреЗ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ (рд▓реЙрдЧрд┐рдирдЧреНрд░реЗрд╕рдЯрд╛рдЗрдо ).

ssh-keygen рдЪрд╛рд▓рд╡рдгреЗ рдЖрддрд╛ rsa-sha2-512 рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╡рд░ рдбреАрдлреЙрд▓реНрдЯ рдЖрд╣реЗ, рдЬреЗ OpenSSH 7.2 рдкрд╛рд╕реВрди рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ, рдЬреЗ рдЬреБрдиреЗ OpenSSH рд░рд┐рд▓реАрдЭ рдЪрд╛рд▓рд╡рдгрд╛рд░реНтАНрдпрд╛ рд╕рд┐рд╕реНрдЯрдореНрд╕рд╡рд░ OpenSSH 8.2 рдордзреНрдпреЗ рд╕рд╛рдЗрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛рдирд╛ рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реВ рд╢рдХрддреЗ (рдЬреЗрд╡реНрд╣рд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛рдирд╛, рддреБрдореНрд╣реА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ тАЬssh-keygen -t ssh-rsaтАЭ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ рдХрд┐рдВрд╡рд╛ ecdsa-sha2-nistp256/384/521 рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рдЬреЗ OpenSSH 5.7 рдкрд╛рд╕реВрди рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ).

рдЗрддрд░ рдмрджрд▓:

  • рд╕рдорд╛рд╡реЗрд╢ рдирд┐рд░реНрджреЗрд╢ sshd_config рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдерд╛рдирд╛рд╡рд░ рдЗрддрд░ рдлрд╛рдЗрд▓реНрд╕рдЪреА рд╕рд╛рдордЧреНрд░реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ (рдлрд╛рдЗрд▓рдЪреЗ рдирд╛рд╡ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛рдирд╛ рдЧреНрд▓реЛрдм рдорд╛рд╕реНрдХ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд);
  • ssh-keygen рдордзреНрдпреЗ "рдиреЛ-рдЯрдЪ-рдЖрд╡рд╢реНрдпрдХ" рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреЛ рдХреА рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддрд╛рдирд╛ рдЯреЛрдХрдирдЪреНрдпрд╛ рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рднреМрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдкреБрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдХреНрд╖рдо рдХрд░рддреЛ;
  • PubkeyAuthOptions рдирд┐рд░реНрджреЗрд╢ sshd_config рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╡рд┐рдз рдкрд░реНрдпрд╛рдп рдПрдХрддреНрд░ рдХрд░рддреЗ. рд╕рдзреНрдпрд╛, рдЯреЛрдХрди рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА рднреМрддрд┐рдХ рдЙрдкрд╕реНрдерд┐рддреА рддрдкрд╛рд╕рдгреНрдпрд╛ рд╡рдЧрд│рдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд "рдиреЛ-рдЯрдЪ-рдЖрд╡рд╢реНрдпрдХ" рдзреНрд╡рдЬ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. рд╕рд╛рджреГрд╢реНрдпрддреЗрдиреБрд╕рд╛рд░, рдЕрдзрд┐рдХреГрдд_рдХреА рдлрд╛рдЗрд▓рдордзреНрдпреЗ "рдиреЛ-рдЯрдЪ-рдЖрд╡рд╢реНрдпрдХ" рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ;
  • рдХреА рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддрд╛рдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд FIDO рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА ssh-keygen рдордзреНрдпреЗ "-O write-attestation=/path" рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛. OpenSSH рдЕрджреНрдпрд╛рдк рд╣реА рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рдирдВрддрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рдХреА рдареЗрд╡рд▓реА рдЖрд╣реЗ рдпрд╛рдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд;
  • ssh рдЖрдгрд┐ sshd рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ, рдЖрддрд╛ IPQoS рдирд┐рд░реНрджреЗрд╢рд╛рдВрджреНрд╡рд╛рд░реЗ рд░рд╣рджрд╛рд░реА рдкреНрд░рд╛рдзрд╛рдиреНрдп рдореЛрдб рд╕реЗрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. LE DSCP (рд▓реЛрдЕрд░-рдкреНрд░рдпрддреНрди рдкреНрд░рддрд┐-рд╣реЙрдк рд╡рд░реНрддрди);
  • ssh рдордзреНрдпреЗ, тАЬAddKeysToAgent=yesтАЭ рдореВрд▓реНрдп рд╕реЗрдЯ рдХрд░рддрд╛рдирд╛, рдХреАрдордзреНрдпреЗ рдЯрд┐рдкреНрдкрдгреА рдлреАрд▓реНрдб рдирд╕рд▓реНрдпрд╛рд╕, рддреА ssh-рдПрдЬрдВрдЯрдордзреНрдпреЗ рдЬреЛрдбрд▓реА рдЬрд╛рдИрд▓ рдЬреА рдЯрд┐рдкреНрдкрдгреА рдореНрд╣рдгреВрди рдХреАрдЪрд╛ рдорд╛рд░реНрдЧ рджрд░реНрд╢рд╡реЗрд▓. IN
    ssh-keygen рдЖрдгрд┐ ssh-agent рджреЗрдЦреАрд▓ рдЖрддрд╛ PKCS#11 рд▓реЗрдмрд▓реЗ рдЖрдгрд┐ X.509 рд╡рд┐рд╖рдпрд╛рдЪреЗ рдирд╛рд╡ рд▓рд╛рдпрдмреНрд░рд░реА рдкрд╛рдердРрд╡рдЬреА рдХреА рдордзреНрдпреЗ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рддрд╛рдд;

  • ssh-keygen рд╡рд░ DSA рдЖрдгрд┐ ECDSA рдХреА рд╕рд╛рдареА PEM рдирд┐рд░реНрдпрд╛рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА;
  • FIDO/U2F рдЯреЛрдХрди рдНрдХреНрд╕реЗрд╕ рд▓рд╛рдпрдмреНрд░рд░реА рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдирд╡реАрди рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓, ssh-sk-helper рдЬреЛрдбрд▓реЗ;
  • zlib рд▓рд╛рдпрдмреНрд░рд░реА рд╕рдорд░реНрдердирд╛рд╕рд╣ рд╕рдВрдХрд▓рдирд╛рд╕рд╛рдареА ssh рдЖрдгрд┐ sshd рдордзреНрдпреЗ тАЬ--with-zlibтАЭ рдмрд┐рд▓реНрдб рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
  • RFC4253 рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░, MaxStartups рдорд░реНрдпрд╛рджрд╛ рдУрд▓рд╛рдВрдбрд▓реНрдпрд╛рдореБрд│реЗ рдНрдХреНрд╕реЗрд╕ рдмреНрд▓реЙрдХ рдХрд░рдгреНрдпрд╛рдмрд╛рдмрдд рдЪреЗрддрд╛рд╡рдгреА рдХрдиреЗрдХреНрд╢рди рджрд░рдореНрдпрд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмреЕрдирд░рдордзреНрдпреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЖрд╣реЗ. рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, sshd рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реАрд░реНрд╖рд▓реЗрдЦ, ps рдпреБрдЯрд┐рд▓рд┐рдЯреА рд╡рд╛рдкрд░рддрд╛рдирд╛ рджреГрд╢реНрдпрдорд╛рди, рд╕рдзреНрдпрд╛ рдкреНрд░рдорд╛рдгреАрдХреГрдд рдХрдиреЗрдХреНрд╢рдирдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрдгрд┐ MaxStartups рдорд░реНрдпрд╛рджрд╛рдЪреА рд╕реНрдерд┐рддреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ;
  • ssh рдЖрдгрд┐ ssh-рдПрдЬрдВрдЯрдордзреНрдпреЗ, рд╕реНрдХреНрд░реАрдирд╡рд░ рдЖрдордВрддреНрд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рдХреЙрд▓ рдХрд░рддрд╛рдирд╛, $SSH_ASKPASS рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ, рдЖрдордВрддреНрд░рдгрд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рд╕рд╣ рдПрдХ рдзреНрд╡рдЬ рдЖрддрд╛ рдЕрддрд┐рд░рд┐рдХреНрддрдкрдгреЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ: "рдкреБрд╖реНрдЯреА рдХрд░рд╛" - рдкреБрд╖реНрдЯреАрдХрд░рдг рд╕рдВрд╡рд╛рдж (рд╣реЛрдп/рдирд╛рд╣реА), "рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА " - рдорд╛рд╣рд┐рддреАрдкреВрд░реНрдг рд╕рдВрджреЗрд╢, "рд░рд┐рдХреНрдд" тАФ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд┐рдирдВрддреА;
  • рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рдЕрдиреБрдордд-рд╕реНрд╡рд╛рдХреНрд╖рд░рдХ рдлрд╛рдЗрд▓ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА ssh-keygen рдордзреНрдпреЗ рдирд╡реАрди рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдСрдкрд░реЗрд╢рди "find-principals" рдЬреЛрдбрд▓реЗ;
  • seccomp рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди Linux рд╡рд░ sshd рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд▓рдЧрд╛рд╡рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рдорд░реНрдерди: IPC рдкреНрд░рдгрд╛рд▓реА рдХреЙрд▓ рдЕрдХреНрд╖рдо рдХрд░рдгреЗ, clock_gettime64(), clock_nanosleep_time64 рдЖрдгрд┐ clock_nanosleep().

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛