αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ OpenSSH 8.2 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ FIDO/U2F two-factor authentication tokens

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž½αž“αžαŸ‚αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αž„αŸ’αž αžΆαž‰ αž€αžΆαžšαžŠαŸ„αŸ‡αž›αŸ‚αž„ αž’αžΌαž•αžΉαž“αžŸαŸŠαžΌαžŸαŸŠαžΈ ៧.αŸ¦αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž”αžΎαž€αž…αŸ†αž  αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαžαžΆαž˜αžšαž™αŸˆαž–αž·αž’αžΈαž€αžΆαžš SSH 2.0 αž“αž·αž„ SFTP αŸ”

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž‚αž“αŸ’αž›αžΉαŸ‡αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ OpenSSH 8.2 αž‚αžΊαž‡αžΆαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž–αž·αž’αžΈαž€αžΆαžš U2Fαž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž—αžΆαž– αž αŸ’αžœαžΈαžŠαžΌαžŠαžΌ. U2F αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αž„αŸ’αž€αžΎαžαžαžΌαžαžΉαž“αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž‘αžΆαž” αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžœαžαŸ’αžαž˜αžΆαž“αžšαžΆαž„αž€αžΆαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžŠαŸ„αž™αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžœαžΆαžαžΆαž˜αžšαž™αŸˆ USB, Bluetooth ឬ NFC αŸ” αž§αž”αž€αžšαžŽαŸαž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž€αžαŸ’αžαžΆαž–αžΈαžšαž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžšαž½αž…αž αžΎαž™αžŠαŸ„αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αž’αŸ†αŸ— αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αž›αž·αžαžŠαŸ„αž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž•αž›αž·αžαž•αŸ’αžŸαŸαž„αŸ— αžšαž½αž˜αž˜αžΆαž“ Yubico, Feitian, Thetis αž“αž·αž„ KensingtonαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαžœαžαŸ’αžαž˜αžΆαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž”αŸ’αžšαž—αŸαž‘αž‚αž“αŸ’αž›αžΉαŸ‡αžαŸ’αž˜αžΈ β€œecdsa-sk” αž“αž·αž„ β€œed25519-sk” αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… OpenSSH αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž› ECDSA αž“αž·αž„ Ed25519 αžšαž½αž˜αž•αŸ’αžŸαŸ†αž‡αžΆαž˜αž½αž™αžŸαž‰αŸ’αž‰αžΆ SHA-256 αŸ” αž“αžΈαžαž·αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αž»αž€αžαžΆαž˜αžšαž”αŸ€αž”αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš PKCS#11 αž“αž·αž„αž‡αžΆαž€αŸ’αžšαžŠαžΆαžŸαžšαž»αŸ†αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž›αžΎαž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αŸ” αž›αžΈαž”αž αŸ’αžœαžΈαžŠαžΌ αŸ’αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž˜αž½αž™αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαžΆαž˜αžšαž™αŸˆ 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/libsk-libfido2αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡) αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹ openssh αžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαŸ’αžšαž‘αžΆαž”αŸ‹ (--with-security-key-builtin) αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš "SecurityKeyProvider=internal" αŸ”
αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš β€œssh-keygen -t ecdsa-sk” αž¬αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž½αž…αž αžΎαž™ αžŸαžΌαž˜αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ„αž™αž”αŸ’αžšαžΎ β€œsshβ€αŸ” αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš ssh-keygen αž‚αžΌαžŸαŸ„αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„ β€œ~/.ssh/id_ecdsa_sk” αž αžΎαž™αž’αžΆαž…αž”αŸ’αžšαžΎαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αžŸαŸ„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆ (id_ecdsa_sk.pub) αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš authorized_keys αŸ” αž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž˜αžΆαž“αžαŸ‚αž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž›αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹ αž αžΎαž™αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αžαžΆαž„αž’αžαž·αžαž·αž‡αž“ (αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαŸ†αž‘αžΎαž„ libsk-libfido2 αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαžαŸ‚αž‚αžΆαŸ†αž‘αŸ’αžšαž”αŸ’αžšαž—αŸαž‘αžŸαŸ„ "ecdsa-sk") . αž€αžΌαž“αžŸαŸ„αž―αž€αž‡αž“αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž (id_ecdsa_sk) αž‚αžΊαž‡αžΆαž…αŸ†αžŽαž»αž…αž‘αžΆαž‰αžŸαŸ†αžαžΆαž“αŸ‹ αž”αž„αŸ’αž€αžΎαžαž”αžΆαž“αž‡αžΆαžŸαŸ„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αŸ†αžŠαžΆαž”αŸ‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆ U2F αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ„ id_ecdsa_sk αž’αŸ’αž›αžΆαž€αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžŠαŸƒαž’αŸ’αž“αž€αžœαžΆαž™αž”αŸ’αžšαž αžΆαžš αžŠαžΎαž˜αŸ’αž”αžΈαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž“αŸ„αŸ‡ αž‚αžΆαžαŸ‹αž€αŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ hardware token αž•αž„αžŠαŸ‚αžš αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŸαŸ„αž―αž€αž‡αž“αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš 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-nisp256/384/521 αž“αŸ…αž›αžΎ RFC5656 ECDSA (αž‚αžΆαŸ†αž‘αŸ’αžšαžαžΆαŸ†αž„αž–αžΈ OpenSSH 5.7)αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ OpenSSH 8.2 αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎ β€œssh-rsa” αž“αŸ…αžαŸ‚αž˜αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈαž”αž‰αŸ’αž‡αžΈ CASignatureAlgorithms αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαž›αžΎαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžαŸ’αž˜αžΈαž‡αžΆαžŒαžΈαž‡αžΈαžαž›αŸ” αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡αžŠαŸ‚αžš αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ diffie-hellman-group14-sha1 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ„αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžŠαŸ‚αž›αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ SHA-1 αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžŸαžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž αžΆαž“αž·αž—αŸαž™αž”αž“αŸ’αžαŸ‚αž˜ αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž’αŸ’αž“αž€αžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆαž‚αŸ’αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαž”αŸ‰αŸ‡αž‘αž„αŸ’αž‚αž·αž…αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαž›αžΎαžŸαŸ„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž€αžΆαžšαž’αžŸαŸ‹αž–αŸαž›αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ (LoginGraceTime )

αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš ssh-keygen αž₯αž‘αžΌαžœαž“αŸαŸ‡αž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αŸ… rsa-sha2-512 algorithm αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈ OpenSSH 7.2 αžŠαŸ‚αž›αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸ…αž–αŸαž›αž–αŸ’αž™αžΆαž™αžΆαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαž€αŸ’αž“αž»αž„ OpenSSH 8.2 αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ OpenSSH αž…αžΆαžŸαŸ‹ (αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸ…αž–αŸαž› αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž αžαŸ’αžαž›αŸαžαžΆ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆ β€œssh-keygen -t ssh-rsa” αž¬αž”αŸ’αžšαžΎ ecdsa-sha2-nistp256/384/521 algorithms αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαžαžΆαŸ†αž„αž–αžΈ OpenSSH 5.7)αŸ”

αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ–

  • αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… sshd_config αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž‰αŸ’αž…αžΌαž›αž˜αžΆαžαž·αž€αžΆαž“αŸƒαž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž‘αžΈαžαžΆαŸ†αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ (αžšαž”αžΆαŸ†αž„ glob αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžš);
  • αž‡αž˜αŸ’αžšαžΎαžŸ "αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ‰αŸ‡" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… ssh-keygen αžŠαŸ‚αž›αž”αž·αž‘αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ token αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαžŸαŸ„αŸ”
  • αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† PubkeyAuthOptions αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… sshd_config αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž‡αž˜αŸ’αžšαžΎαžŸαž•αŸ’αžŸαŸαž„αŸ—αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆαŸ” αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αž˜αžΆαž“αžαŸ‚αž‘αž„αŸ‹ "αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ‰αŸ‡" αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ†αž›αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžœαžαŸ’αžαž˜αžΆαž“αžšαžΆαž„αž€αžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αŸ” αžŠαŸ„αž™αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ αž‡αž˜αŸ’αžšαžΎαžŸ "αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ‰αŸ‡" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž―αž€αžŸαžΆαžš authorized_keys;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "-O write-attestation=/path" αž‘αŸ… ssh-keygen αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹ FIDO αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαžŸαŸ„αŸ” OpenSSH αž˜αž·αž“β€‹αž‘αžΆαž“αŸ‹β€‹αž”αŸ’αžšαžΎβ€‹αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšβ€‹αž‘αžΆαŸ†αž„β€‹αž“αŸαŸ‡β€‹αž“αŸ…β€‹αž‘αžΎαž™β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž€αŸ’αžšαŸ„αž™β€‹αž˜αž€β€‹αž–αž½αž€β€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹β€‹αžαžΆβ€‹αžŸαŸ„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžŠαžΆαž€αŸ‹β€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž αžΆαž„ hardware αžŠαŸ‚αž›β€‹αž‡αžΏβ€‹αž‘αž»αž€β€‹αž…αž·αžαŸ’αžαŸ”
  • αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ ssh αž“αž·αž„ sshd αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžšαž”αŸ€αž”αž’αžΆαž‘αž·αž—αžΆαž–αž…αžšαžΆαž…αžšαžŽαŸαžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† IPQoS LE DSCP αž₯αžšαž·αž™αžΆαž”αž‘ αž§αž‡αŸ’αžˆαžΆαž™αž“αŸ’αžαž· αžαžΈαž™αž“αŸ’αžαž· αžœαž·αž”αžΆαž…αŸαž“αŸ’αžαž·αŸ”
  • αž“αŸ…αž€αŸ’αž“αž»αž„ ssh αž“αŸ…αž–αŸαž›αž€αŸ†αžŽαžαŸ‹αžαž˜αŸ’αž›αŸƒ β€œAddKeysToAgent=yes” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ„αž˜αž·αž“αž˜αžΆαž“αžœαžΆαž›αž˜αžαž·αž™αŸ„αž”αž›αŸ‹ αžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžš ssh αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž•αŸ’αž›αžΌαžœαž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸ„αž‡αžΆαž˜αžαž·αž™αŸ„αž”αž›αŸ‹αŸ” IN
    ssh-keygen αž“αž·αž„ ssh-agent αž₯αž‘αžΌαžœαž“αŸαŸ‡αž€αŸαž”αŸ’αžšαžΎαžŸαŸ’αž›αžΆαž€ PKCS#11 αž“αž·αž„αžˆαŸ’αž˜αŸ„αŸ‡αž”αŸ’αžšαž’αžΆαž“αž”αž‘ X.509 αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž•αŸ’αž›αžΌαžœαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‡αžΆαž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ„αŸ”

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž“αžΆαŸ†αž…αŸαž‰ PEM αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ DSA αž“αž·αž„ ECDSA keys αž‘αŸ… ssh-keygen;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ ssh-sk-helper αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αžαŸ’αž˜αžΈ αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž‰αŸ‚αž€αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž…αžΌαž›αž”αŸ’αžšαžΎαž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆ FIDO/U2F αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸαžŸαŸ’αžαžΆαž”αž“αžΆ "--with-zlib" αž‘αŸ… ssh αž“αž·αž„ sshd αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ zlib αŸ”
  • αžŠαŸ„αž™αž’αž“αž»αž›αŸ„αž˜αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸƒ RFC4253 αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž€αžΆαžšαž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž›αžΎαžŸαž–αžΈαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ MaxStartups αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž”αžŠαžΆαžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž’αŸ†αž‘αž»αž„αž–αŸαž›αž—αŸ’αž‡αžΆαž”αŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™ αž”αž‹αž˜αž€αžαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš sshd αžŠαŸ‚αž›αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ ps αž₯αž‘αžΌαžœαž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αž“αž·αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ MaxStartups αŸ”
  • αž“αŸ…αž€αŸ’αž“αž»αž„ ssh αž“αž·αž„ ssh-agent αž“αŸ…αž–αŸαž›αž αŸ…αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαž’αž‰αŸ’αž‡αžΎαž‰αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹ αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžΆαž˜αžšαž™αŸˆ $SSH_ASKPASS αž‘αž„αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαž’αž‰αŸ’αž‡αžΎαž‰αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ– "αž”αž‰αŸ’αž‡αžΆαž€αŸ‹" - αž”αŸ’αžšαž’αž”αŸ‹αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ (αž”αžΆαž‘/αž…αžΆαžŸ) "αž‚αŸ’αž˜αžΆαž“ " - αžŸαžΆαžšαž–αŸαžαŸŒαž˜αžΆαž“ "αž‘αž‘αŸ" - αžŸαŸ†αžŽαžΎαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž›αžαŸ’αž˜αžΈ "find-principals" αž‘αŸ… ssh-keygen αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αžšαž€αž―αž€αžŸαžΆαžšαž’αŸ’αž“αž€αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαžŠαŸ‚αž›αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž›αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ”
  • αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž―αž€αŸ„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš sshd αž“αŸ…αž›αžΎ Linux αžŠαŸ„αž™αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžš seccompαŸ– αž”αž·αž‘αž€αžΆαžšαž αŸ…αžαžΆαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’ IPC αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™ clock_gettime64(), clock_nanosleep_time64 αž“αž·αž„ clock_nanosleep()αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹