ืžืขืœื“ื•ื ื’ ืคื•ืŸ OpenSSH 8.2 ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ FIDO / U2F ืฆื•ื•ื™ื™-ืคืึทืงื˜ืึธืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ื˜ืึธืงืขื ืก

ื ืึธืš ืคื™ืจ ื—ื“ืฉื™ื ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื“ืขืจืœืื ื’ื˜ ืžืขืœื“ื•ื ื’ OpenSSH 8.2, ืึทืŸ ืึธืคึฟืŸ ืงืœื™ืขื ื˜ ืื•ืŸ ืกืขืจื•ื•ืขืจ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ื“ื•ืจืš ื“ื™ SSH 2.0 ืื•ืŸ SFTP ืคึผืจืึธื˜ืึธืงืึธืœืก.

ื ืฉืœื™ืกืœ ืคึฟืึทืจื‘ืขืกืขืจื•ื ื’ ืื™ืŸ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ OpenSSH 8.2 ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ืฆื•ื•ื™ื™-ืคืึทืงื˜ืึธืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ื ื™ืฆืŸ ื“ืขื•ื•ื™ืกืขืก ื•ื•ืึธืก ืฉื˜ื™ืฆืŸ ื“ืขื ืคึผืจืึธื˜ืึธืงืึธืœ U2F, ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื“ื™ ื‘ื•ื ื“ ืคื™ื“ืึธ. U2F ืึทืœืึทื•ื– ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ื ื™ื“ืขืจื™ืง-ืคึผืจื™ื™ึทื– ื™ื™ึทื–ื ื•ื•ืึทืจื’ ื˜ืึธืงืขื ืก ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ืขื ื‘ืึทื ื™ืฆืขืจ 'ืก ื’ืฉืžื™ื•ืช ื‘ื™ื™ึทื–ื™ื™ึทืŸ, ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ ื–ื™ื™ ื“ื•ืจืš ื•ืกื‘, ื‘ืœื•ืขื˜ืึธืึธื˜ื” ืึธื“ืขืจ NFC. ืึทื–ืึท ื“ืขื•ื•ื™ืกืขืก ื–ืขื ืขืŸ ืคึผืจืึธืžืึธื˜ืขื“ ื•ื•ื™ ืึท ืžื™ื˜ืœ ืคื•ืŸ ืฆื•ื•ื™ื™-ืคืึทืงื˜ืึธืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื•ื•ืขื‘ืกื™ื˜ืขืก, ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื”ื•ื™ืคึผื˜ ื‘ืจืึทื•ื–ืขืจื– ืื•ืŸ ื–ืขื ืขืŸ ื’ืขืฉืืคืŸ ื“ื•ืจืš ืคืึทืจืฉื™ื“ืŸ ืžืึทื ื™ืึทืคืึทืงื˜ืฉืขืจืขืจื–, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ Yubico, Feitian, Thetis ืื•ืŸ Kensington.

ืฆื• ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ื“ืขื•ื•ื™ืกืขืก ื•ื•ืึธืก ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ืขื ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ, ื ื™ื™ึทืข ืฉืœื™ืกืœ ื˜ื™ื™ืคึผืก "ecdsa-sk" ืื•ืŸ "ed25519-sk" ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• OpenSSH, ื•ื•ืึธืก ื ื•ืฆืŸ ื“ื™ ECDSA ืื•ืŸ Ed25519 ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข ืึทืœื’ืขืจื™ื“ืึทืžื–, ืงืึทืžื‘ื™ื™ื ื“ ืžื™ื˜ ื“ื™ SHA-256 ื”ืึทืฉ. ืคึผืจืึธื•ืกื™ื“ื–ืฉืขืจื– ืคึฟืึทืจ ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ ื˜ืึธืงืขื ืก ื–ืขื ืขืŸ ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืึท ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ื•ื•ืึธืก ืื™ื– ืœืึธื•ื“ื™ื“ ืื™ืŸ ืึท ืขื ืœืขืš ื•ื•ืขื’ ืฆื• ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึฟืึทืจ PKCS #11 ืฉื˜ื™ืฆืŸ ืื•ืŸ ืื™ื– ืึท ืจืึทืคึผืขืจ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ืขืจ ื‘ื™ื‘ืœื™ืึธื˜ืขืง libfido2, ื•ื•ืึธืก ื’ื™ื˜ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืงืึทืžื™ื•ื ืึทืงื™ื™ื˜ื™ื ื’ ืžื™ื˜ ื˜ืึธืงืขื ืก ืื™ื‘ืขืจ ื•ืกื‘ (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/libsk-libfido2. ืึทื–ื•ื™). ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื‘ื•ื™ืขืŸ ืึธืคึผืขื ืกืฉ ืžื™ื˜ ืึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืฉื™ื›ื˜ืข ื‘ื™ื‘ืœื™ืึธื˜ืขืง (--with-security-key-builtin), ืื™ืŸ ื“ืขื ืคืึทืœ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ "SecurityKeyProvider = ื™ื ืขืจืœืขืš" ืคึผืึทืจืึทืžืขื˜ืขืจ.
ื“ืขืจื ืึธืš ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ "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 ืฆื• ืึทืงืกืขืก ื“ื™ ืฉืœื™ืกืœ ื˜ืขืงืข.

ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹OpenSSH ืื•ื™ืš ืึทื ืึทื•ื ืกื˜ ื“ื™ ืึทืคึผืงืึทืžื™ื ื’ ื“ื™ืคึผืจื™ืฉื™ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ื ื™ืฆืŸ SHA-1 ื”ืึทืฉืขืก ืจืขื›ื˜ ืฆื• ื”ืขื›ืขืจื•ื ื’ ื“ื™ ื™ืคืขืงื˜ื™ื•ื•ื ืึทืก ืคื•ืŸ ืฆื•ื ื•ื™ืคืฉื˜ื•ื™ืก ืื ืคืืœืŸ ืžื™ื˜ ืึท ื’ืขื’ืขื‘ืŸ ืคึผืจืขืคื™ืงืก (ื“ื™ ืคึผืจื™ื™ึทื– ืคื•ืŸ ืกืึทืœืขืงื˜ื™ื ื’ ืึท ืฆื•ื ื•ื™ืคืฉื˜ื•ื™ืก ืื™ื– ืขืกื˜ื™ืžืึทื˜ืขื“ ื‘ื™ื™ึท ื‘ืขืขืจืขืš 45 ื˜ื•ื™ื–ื ื˜ ื“ืึธืœืœืึทืจืก). ืื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืึทืคึผืงืึทืžื™ื ื’ ืจื™ืœื™ืกื™ื–, ื–ื™ื™ ืคึผืœืึทืŸ ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ื‘ื™ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ื“ื™ ืขืคื ื˜ืœืขืš ืฉืœื™ืกืœ ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข ืึทืœื’ืขืจื™ื“ืึทื "ssh-rsa", ื•ื•ืึธืก ืื™ื– ื“ืขืจืžืื ื˜ ืื™ืŸ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ RFC ืคึฟืึทืจ ื“ื™ SSH ืคึผืจืึธื˜ืึธืงืึธืœ ืื•ืŸ ื‘ืœื™ื™ื‘ื˜ ื•ื•ื™ื™ื“ืกืคึผืจืขื“ ืื™ืŸ ืคื™ืจ (ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ssh-rsa ืื™ืŸ ื“ื™ื™ืŸ ืกื™ืกื˜ืขืžืขืŸ, ืื™ืจ ืงืขื ืขืŸ ืคึผืจื•ื‘ื™ืจืŸ ืงืึทื ืขืงื˜ื™ื ื’ ื“ื•ืจืš ssh ืžื™ื˜ ื“ื™ ืึธืคึผืฆื™ืข "-oHostKeyAlgorithms=-ssh-rsa").

ืฆื• ื’ืœืึทื˜ ื“ื™ ื™ื‘ืขืจื’ืึทื ื’ ืฆื• ื ื™ื™ึทืข ืึทืœื’ืขืจื™ื“ืึทืžื– ืื™ืŸ OpenSSH, ืื™ืŸ ืึท ืฆื•ืงื•ื ืคึฟื˜ ืžืขืœื“ื•ื ื’ ื“ื™ UpdateHostKeys ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื•ื•ืึธืก ื•ื•ืขื˜ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืžื™ื™ื’ืจื™ื™ื˜ ืงืœื™ื™ืึทื ืฅ ืฆื• ืžืขืจ ืคืึทืจืœืึธื–ืœืขืš ืึทืœื’ืขืจื™ื“ืึทืžื–. ืจืขืงืึทืžืขื ื“ื™ื“ ืึทืœื’ืขืจื™ื“ืึทืžื– ืคึฟืึทืจ ืžื™ื™ื’ืจื™ื™ืฉืึทืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ rsa-sha2-256/512 ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ RFC8332 RSA SHA-2 (ื’ืขืฉื˜ื™ืฆื˜ ื–ื™ื ื˜ OpenSSH 7.2 ืื•ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜), ssh-ed25519 (ื’ืขืฉื˜ื™ืฆื˜ ื–ื™ื ื˜ OpenSSH 6.5) ืื•ืŸ ecdsa-sha2-nistp256/384 ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ RFC521 ECDSA (ื’ืขืฉื˜ื™ืฆื˜ ื–ื™ื ื˜ OpenSSH 5656).

ืื™ืŸ OpenSSH 8.2, ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืžื™ื˜ "ssh-rsa" ืื™ื– ื ืึธืš ื‘ืืจืขื›ื˜ื™ื’ื˜, ืึธื‘ืขืจ ื“ืขืจ ืึทืœื’ืขืจื™ื“ืึทื ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืคื•ืŸ ื“ื™ CASignatureAlgorithms ืจืฉื™ืžื”, ื•ื•ืึธืก ื“ื™ืคื™ื™ื ื– ื“ื™ ืึทืœื’ืขืจื™ื“ืึทืžื– ืขืจืœื•ื™ื‘ื˜ ืคึฟืึทืจ ื“ื™ื’ื™ื˜ืึทืœ ืกื™ื™ื ื™ื ื’ ื ื™ื™ึท ืกืขืจื˜ื™ืคื™ืงืึทืฅ. ืกื™ืžื™ืœืึทืจืœื™, ื“ื™ diffie-hellman-group14-sha1 ืึทืœื’ืขืจื™ื“ืึทื ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืคื•ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืฉืœื™ืกืœ ื•ื•ืขืงืกืœ ืึทืœื’ืขืจื™ื“ืึทืžื– ื’ืขืฉื˜ื™ืฆื˜. ืขืก ืื™ื– ื‘ืืžืขืจืงื˜ ืึทื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ SHA-1 ืื™ืŸ ืกืขืจื˜ื™ืคื™ืงืึทืฅ ืื™ื– ืคืืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื ืึธืš ืจื™ื–ื™ืงื™ืจืŸ, ื•ื•ื™ื™ึทืœ ื“ื™ ืึทื˜ืึทืงืขืจ ื”ืื˜ ืึทื ืœื™ืžืึทื˜ืึทื“ ืฆื™ื™ื˜ ืฆื• ื–ื•ื›ืŸ ืคึฟืึทืจ ืึท ืฆื•ื ื•ื™ืคืฉื˜ื•ื™ืก ืคึฟืึทืจ ืึท ื™ื’ื–ื™ืกื˜ื™ื ื’ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ, ื‘ืฉืขืช ื“ื™ ืฆื™ื™ื˜ ืคื•ืŸ ื‘ืึทืคืึทืœืŸ ืื•ื™ืฃ ื‘ืึทืœืขื‘ืึธืก ืฉืœื™ืกืœืขืŸ ืื™ื– ืœื™ืžื™ื˜ืขื“ ื“ื•ืจืš ื“ื™ ืงืฉืจ ื˜ื™ื™ืžืึทื•ื˜ (LoginGraceTime) ).

ืคืœื™ืกื ื“ื™ืง ssh-keygen ืื™ืฆื˜ ื“ื™ืคืึธืœืฅ ืฆื• ื“ื™ rsa-sha2-512 ืึทืœื’ืขืจื™ื“ืึทื, ื•ื•ืึธืก ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ื–ื™ื ื˜ OpenSSH 7.2, ื•ื•ืึธืก ืงืขืŸ ืžืึทื›ืŸ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ื™ืฉื•ื– ื•ื•ืขืŸ ืื™ืจ ืคึผืจื•ื•ื•ืŸ ืฆื• ืคึผืจืึธืฆืขืก ืกืขืจื˜ื™ืคื™ืงืึทืฅ ื’ืขื—ืชืžืขื˜ ืื™ืŸ OpenSSH 8.2 ืื•ื™ืฃ ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืึธืก ืœื•ื™ืคืŸ ืขืœื˜ืขืจืข OpenSSH ืจื™ืœื™ืกื™ื– (ืฆื• ืึทืจื‘ืขื˜ืŸ ืึทืจื•ื ื“ืขื ืึทืจื•ื™ืกื’ืขื‘ืŸ ื•ื•ืขืŸ ื•ื•ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ื›ืกื™ืžืข, ืื™ืจ ืงืขื ืขืŸ ื‘ืคื™ืจื•ืฉ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ "ssh-keygen -t ssh-rsa" ืึธื“ืขืจ ื ื•ืฆืŸ ื“ื™ ecdsa-sha2-nistp256/384/521 ืึทืœื’ืขืจื™ื“ืึทืžื–, ื’ืขืฉื˜ื™ืฆื˜ ื–ื™ื ื˜ OpenSSH 5.7).

ืื ื“ืขืจืข ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืึท ื™ื ืงืœื•ื“ืข ื“ื™ืจืขืงื˜ื™ื•ื• ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• sshd_config, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืื ื“ืขืจืข ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ืงืจืึทื ื˜ ืฉื˜ืขืœืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข (ื’ืœืึธื‘ ืžืึทืกืงืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื˜ืขืงืข ื ืึธืžืขืŸ);
  • ื“ื™ "ื ื™ื˜-ืคืึทืจื‘ื™ื ื“ืŸ-ืจื™ืงื•ื•ื™ื™ืขืจื“" ืึธืคึผืฆื™ืข ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ssh-keygen, ื•ื•ืึธืก ื“ื™ืกื™ื™ื‘ืึทืœื– ื“ื™ ื ื•ื™ื˜ ืฆื• ืคื™ื–ื™ืงืœื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึทืงืกืขืก ืฆื• ื“ื™ ืกื™ืžืขืŸ ื•ื•ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ื“ื™ ืฉืœื™ืกืœ;
  • ื PubkeyAuthOptions ื“ื™ืจืขืงื˜ื™ื•ื• ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• sshd_config, ื•ื•ืึธืก ืงืึทืžื‘ื™ื™ื ื– ืคืึทืจืฉื™ื“ืŸ ืึธืคึผืฆื™ืขืก ืฉื™ื™ึทื›ื•ืช ืฆื• ืขืคื ื˜ืœืขืš ืฉืœื™ืกืœ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ. ื“ืขืจื•ื•ื™ื™ึทืœ, ื‘ืœื•ื™ื– ื“ื™ "ื ื™ื˜-ืคืึทืจื‘ื™ื ื“ืŸ-ืคืืจืœืื ื’ื˜" ืคืึธืŸ ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ืฆื• ื”ืึธืคึผืงืขืŸ ื’ืฉืžื™ื•ืช ื‘ื™ื™ึทื–ื™ื™ึทืŸ ื˜ืฉืขืงืก ืคึฟืึทืจ ื˜ืึธืงืขืŸ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ. ืœื•ื™ื˜ ืึทื ืึทืœืึทื“ื–ืฉื™, ื“ื™ "ื ื™ื˜-ืคืึทืจื‘ื™ื ื“ืŸ-ืคืืจืœืื ื’ื˜" ืึธืคึผืฆื™ืข ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ืึธื˜ืขืจื™ื™ื–ื“_ืงื™ื™ืก ื˜ืขืงืข;
  • ืฆื•ื’ืขื’ืขื‘ืŸ "-O write-attestation=/path" ืึธืคึผืฆื™ืข ืฆื• ssh-keygen ืฆื• ืœืึธื–ืŸ ื ืึธืš FIDO ืึทื˜ืขืกื˜ืึทื˜ื™ืึธืŸ ืกืขืจื˜ื™ืคื™ืงืึทืฅ ืฆื• ื–ื™ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ื•ื•ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืฉืœื™ืกืœืขืŸ. OpenSSH ื˜ื•ื˜ ื ื™ืฉื˜ ื ืึธืš ื ื•ืฆืŸ ื“ื™ ืกืขืจื˜ื™ืคื™ืงืึทืฅ, ืึธื‘ืขืจ ื–ื™ื™ ืงืขื ืขืŸ ืฉืคึผืขื˜ืขืจ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึทื– ื“ืขืจ ืฉืœื™ืกืœ ืื™ื– ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืึท ื˜ืจืึทืกื˜ื™ื“ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืงืจืึธื;
  • ืื™ืŸ ื“ื™ ssh ืื•ืŸ sshd ืกืขื˜ื˜ื™ื ื’ืก, ืขืก ืื™ื– ืื™ืฆื˜ ืžืขื’ืœืขืš ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจืงืขืจ ืคึผืจื™ื™ืึธืจืึทื˜ื™ื™ื–ื™ื™ืฉืึทืŸ ืžืึธื“ืข ื“ื•ืจืš ื“ื™ IPQoS ื“ื™ืจืขืงื˜ื™ื•ื• LE DSCP (ื ื™ื“ืขืจื™ืงืขืจ-ืžื™ืฉื˜ ืคึผืขืจ-ื”ืึธืคึผ ืึธืคึผืคื™ืจื•ื ื’);
  • ืื™ืŸ ssh, ื•ื•ืขืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื•ื•ืขืจื˜ "AddKeysToAgent = ื™ืึธ", ืื•ื™ื‘ ื“ืขืจ ืฉืœื™ืกืœ ื˜ื•ื˜ ื ื™ืฉื˜ ืึทื ื˜ื”ืึทืœื˜ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’ ืคืขืœื“, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืฆื• ssh-agent ื•ื•ืึธืก ื™ื ื“ื™ืงื™ื™ืฅ ื“ืขื ื“ืจืš ืฆื• ื“ืขืจ ืฉืœื™ืกืœ ื•ื•ื™ ืึท ื‘ืึทืžืขืจืงื•ื ื’. ืื™ืŸ
    ssh-keygen ืื•ืŸ ssh-agent ืื•ื™ืš ื ื•ืฆืŸ PKCS #11 ืœืึทื‘ืขืœืก ืื•ืŸ ื“ื™ X.509 ื•ื ื˜ืขืจื˜ืขื ื™ืง ื ืึธืžืขืŸ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื“ืจืš ื•ื•ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ืฉืœื™ืกืœ;

  • ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืจื•ื™ืกืคื™ืจืŸ PEM ืคึฟืึทืจ DSA ืื•ืŸ ECDSA ืฉืœื™ืกืœืขืŸ ืฆื• ssh-keygen;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื ื™ื™ึทืข ืขืงืกืขืงื•ื˜ืึทื‘ืœืข, ssh-sk-helper, ื’ืขื ื™ืฆื˜ ืฆื• ื™ื–ืึธืœื™ืจืŸ ื“ื™ FIDO/U2F ื˜ืึธืงืขืŸ ืึทืงืกืขืก ื‘ื™ื‘ืœื™ืึธื˜ืขืง;
  • ืฆื•ื’ืขื’ืขื‘ืŸ "--with-zlib" ื‘ื•ื™ืขืŸ ืึธืคึผืฆื™ืข ืฆื• ssh ืื•ืŸ sshd ืคึฟืึทืจ ื–ืึทืžืœื•ื ื’ ืžื™ื˜ ื–ืœื™ื‘ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืฉื˜ื™ืฆืŸ;
  • ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ื“ื™ ืคืึธื“ืขืจื•ื ื’ ืคื•ืŸ RFC4253, ืึท ื•ื•ืืจืขื ื•ื ื’ ื•ื•ืขื’ืŸ ืึทืงืกืขืก ื‘ืœืึทืงื™ื ื’ ืจืขื›ื˜ ืฆื• ื™ืงืกื™ื“ื™ื ื’ MaxStartups ืœื™ืžืึทืฅ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ื™ ืคืึธืŸ ื’ืขื•ื•ื™ื–ืŸ ื‘ืขืฉืึทืก ืงืฉืจ. ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก, ื“ื™ sshd ืคึผืจืึธืฆืขืก ื›ืขื“ืขืจ, ืงืขื ื˜ื™ืง ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ื“ื™ ืคึผืก ื ื•ืฆืŸ, ืื™ืฆื˜ ื“ื™ืกืคึผืœื™ื™ื– ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื“ืขืจื•ื•ื™ื™ึทืœ ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ืึทื“ ืงืึทื ืขืงืฉืึทื ื– ืื•ืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก ืคื•ืŸ ื“ื™ MaxStartups ืฉื™ืขื•ืจ;
  • ืื™ืŸ ssh ืื•ืŸ ssh-agent, ื•ื•ืขืŸ ืื™ืจ ืจื•ืคืŸ ืึท ืคึผืจืึธื’ืจืึทื ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืึท ืคืึทืจื‘ืขื˜ื•ื ื’ ืื•ื™ืฃ ื“ืขื ืขืงืจืึทืŸ, ืกืคึผืขืกื™ืคื™ืขื“ ื“ื•ืจืš $SSH_ASKPASS, ืึท ืคืึธืŸ ืžื™ื˜ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ืคืึทืจื‘ืขื˜ื•ื ื’ ืื™ื– ืื™ืฆื˜ ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“: "ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ" - ื‘ืึทืฉื˜ืขื˜ื™ืงื•ื ื’ ื“ื™ืึทืœืึธื’ (ื™ืึธ / ื ื™ื™ืŸ), "ืงื™ื™ืŸ" " - ื™ื ืคืึธืจืžื™ื™ืฉืึทื ืึทืœ ืึธื ื–ืึธื’, "ืœื™ื™ื“ื™ืง" - ืคึผืึทืจืึธืœ ื‘ืขื˜ืŸ;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืึท ื ื™ื™ึทืข ื“ื™ื’ื™ื˜ืึทืœ ืกื™ื’ื ืึทื˜ืฉืขืจื– ืึธืคึผืขืจืึทืฆื™ืข "ื’ืขืคึฟื™ื ืขืŸ-ืคึผืจื™ื ืกื™ืคึผืึทืœืก" ืฆื• ssh-keygen ืฆื• ื–ื•ื›ืŸ ื“ื™ ืขืจืœื•ื™ื‘ื˜-ืกื™ื™ื ืขืจื– ื˜ืขืงืข ืคึฟืึทืจ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืคืืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืึท ืกืคึผืขืกื™ืคื™ืขื“ ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข;
  • ื™ืžืคึผืจื•ื•ื•ื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ sshd ืคึผืจืึธืฆืขืก ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืื•ื™ืฃ ืœื™ื ื•ืงืก ื ื™ืฆืŸ ื“ื™ ืกืขืงืึธืžืคึผ ืžืขืงืึทื ื™ื–ืึทื: ื“ื™ืกื™ื™ื‘ืึทืœ IPC ืกื™ืกื˜ืขื ืงืึทืœืœืก, ืึทืœืึทื•ื™ื ื’ clock_gettime64(), clock_nanosleep_time64 ืื•ืŸ clock_nanosleep().

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’