áá±ážáááŒá¬ááŒá®ážáá±á¬áẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá¬áááºá
OpenSSH 8.2 áá¯ááºáá±ááŸá¯ááœáẠá¡ááá ááá¯ážáááºááŸá¯ááŸá¬ áááá¯ááá¯áá±á¬ááᯠáá¶á·ááá¯ážáá±ážááá·áº á
ááºáá
á¹á
ááºážáá»á¬ážááŒáá·áº two-factor authentication ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºá
áœááºážá
á¡áá¯á¶ážááŒá¯áá°ááááºááŸáááŸá¯ááá¯á¡áááºááŒá¯ááá·áºá
ááºáá
á¹á
ááºážáá»á¬ážááŸáá·áºá¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºáááºá¡ááœááºá OpenSSH ááẠSHA-25519 hash ááŸáá·áº áá
áºáá»á
áºáááºáááºááŸááºááá¯ážááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®ááẠECDSA ááŸáá·áº Ed25519 ááá¯á¡áá¯á¶ážááŒá¯ááá·áºáá±á¬á·á¡áá»áá¯ážá¡á
á¬ážá¡áá
áºáá»á¬ážááŒá
áºáá±á¬ "ecdsa-sk" ááŸáá·áº "ed256-sk" ááᯠááá·áºááœááºážáá²á·áááºá ááá¯áááºáá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸááºáááºáá¶ááŒááºážá¡ááœáẠáá¯ááºáá¯á¶ážáá¯ááºáááºážáá»á¬ážááᯠPKCS #11 áá¶á·ááá¯ážááŸá¯á¡ááœáẠá
á¬ááŒáá·áºááá¯ááºááŸáá·áº á¡áá¬ážáá°á
áœá¬ áááºáá±á¬ááºáá¬ážááá·áº á¡áááºá¡áááºá
á¬ááŒáá·áºááá¯ááºáá
áºáá¯ááá¯á· ááœáŸá±á·ááá¯ááºáááº
á
á
áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááŸáá·áº áá±á¬á·áá¯ááºáá¯ááºááŒááºážá¡ááœááºá áááºáááºáá»á¬ážááœáẠ"SecurityKeyProvider" áá±á¬ááºááᯠáááºááŸááºááá«ááẠááá¯á·ááá¯áẠSSH_SK_PROVIDER áááºáááºážáá»ááºááŒá±á¬ááºážááœá²ááŒá±á¬ááºážááᯠáááºááŸááºá ááŒááºáá
á¬ááŒáá·áºááá¯áẠlibsk-libfido2.so ááá¯á·áááºážááŒá±á¬ááºážááᯠáááºááŸááºááŒááºáž (SSH_SK_PROVIDER=/path/to/libsk-libfido2.so ááᯠáá¯ááºáá°áá«á ) á¡áááºá áááºááẠ"SecurityKeyProvider=internal" áá±á¬ááºááᯠáááºááŸááºááẠááá¯á¡ááºááŒá®áž áááºážááœáẠinterlayer á
á¬ááŒáá·áºááá¯áẠ(--with-security-key-builtin) á¡ááœáẠbuilt-in áá¶á·ááá¯ážááŸá¯ááŒáá·áº openssh ááᯠáááºáá±á¬ááºááá¯ááºáááºá
ááá¯á·áá±á¬ááºá áááºááẠ"ssh-keygen -t ecdsa-sk" ááᯠrun ááẠááá¯á¡ááºááẠááá¯á·ááá¯áẠáá±á¬á·áá»á¬ážááᯠáááºáá®ážááŒá®áž ááŒááºáááºááŒá®ážáá«á "ssh" ááᯠá¡áá¯á¶ážááŒá¯á áá¬áá¬ááá¯á· áá»áááºáááºáá«á ssh-keygen ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á áá¯ááºáá¯ááºáá¬ážáá±á¬áá±á¬á·á¡ááœá²ááᯠ"~/.ssh/id_ecdsa_sk" ááœáẠááááºážáááºážáááºááŒá
áºááŒá®áž á¡ááŒá¬ážáá±á¬á·áá»á¬ážáá²á·ááá¯á· á¡áá¬ážáá°á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
á¡áá»á¬ážáá°ááŸá¬áá±á¬á· (id_ecdsa_sk.pub) ááᯠauthorized_keys ááá¯ááºááŸá áá¬áá¬ááá¯á· áá°ážáá°ááá·áºáááºá áá¬áá¬áááºááœááºá áá áºáá»á áºáááºáááºááŸááºááá¯áᬠá¡ááŸááºááŒá áºááŒá®áž ááá¯áááºáá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯ááᯠclient áááºá០áá¯ááºáá±á¬ááºááẠ(libsk-libfido2 ááᯠáá¬áá¬ááœáẠááá·áºááœááºážááẠáááá¯á¡ááºáá±á¬áºáááºáž áá¬áá¬ááẠ"ecdsa-sk" áá±á¬á·á¡áá»áá¯ážá¡á á¬ážááᯠáá¶á·ááá¯ážáá±ážááááº) . áá¯ááºáá¯ááºáá¬ážáá±á¬ ááá¯ááºááá¯ááºáá±á¬á· (id_ecdsa_sk) ááẠá¡ááŒá±áá¶á¡á¬ážááŒáá·áº U2F ááá¯áááºááá±ážááœáẠááááºážáááºážáá¬ážáá±á¬ áá»áŸáá¯á·ááŸááºá¡á á®á¡á á¥áºááŒáá·áºáᬠáá±á¬á·á¡á á áºá¡ááŸááºááᯠáá±á«ááºážá ááºááœá²á·á ááºážááá·áº á¡ááááá±á¬áºááŒáá»ááºáá áºáá¯ááŒá áºáááºá á¡áááºá id_ecdsa_sk áá±á¬á·ááẠááá¯ááºááá¯ááºáá°ááááºááá¯á· áá»áá±á¬ááºáá«áá á¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážááᯠááŒááºáá»á±á¬áºáááºá¡ááœáẠid_ecdsa_sk ááá¯ááºááœáẠááááºážáááºážáá¬ážááá·áº áá®ážááá·áºáá±á¬á·ááẠá¡áá¯á¶ážááááºáá² áá¬á·ááºáá²ááá¯áááºáá áºáá¯ááá¯á·áááºáž áááºáá±á¬ááºááœáá·áºáááŸáááẠááá¯á¡ááºáááºááŒá áºáááºá
ááá¯á·á¡ááŒáẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá±á¬á·áá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯áá¯ááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá« (áá»áá¯ážáááºááŸáá·áº á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒáá±á ááº)á á¡áá¯á¶ážááŒá¯áá°ááá¯ááºááá¯ááºážááá¯ááºáá¬áááºááŸáááŸá¯ááᯠáá±áááœááºážá¡áááºááŒá¯ááẠááá¯á¡ááºáááºá á¥ááá¬á ááá¯áááºáá±á«áºááŸá á¡á¬áá¯á¶áá¶áááááá¬ááᯠááááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá áá»áááºáááºáá¬ážáá±á¬ ááá¯áááºáá áºáá¯ááŒáá·áº á áá áºáá»á¬ážá¡áá±á«áº á¡áá±ážááááºážááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá«á á¡ááŒá¬ážáá¬ááœááºáá±ážááá¯ááºážáá áºáá¯á¡áá±ááŒáá·áºá ssh-keygen á áááºááá·áºá¡ááá·áºááẠáá±á¬á·ááá¯ááºááá¯áááºáá±á¬ááºááẠá áá¬ážááŸááºáá áºáá¯áá±ážááá¯ááºáááºá
OpenSSH á áá¬ážááŸááºážá¡áá
áºááẠSHA-1 hashes ááᯠá¡áá¯á¶ážááŒá¯á áá¬ááá·áº algorithms áá»á¬ážááᯠáá»ááºááááºážááŒá±á¬ááºáž ááŒá±áá¬áá²á·áááºá
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 á á¬áááºážá០áááºááŸá¬ážááá¯ááºááŒá®ážá áá áºáá»á áºáááºáááºááŸááºá¡áá áºáá»á¬ážááᯠáááºááŸááºááá¯ážáááºá¡ááœáẠááœáá·áºááŒá¯áá¬ážáá±á¬ á¡ááºáááá¯áá®áááºáá»á¬ážááᯠáááºááŸááºáá±ážááá·áº CASignatureAlgorithms á á¬áááºážá០áááºááŸá¬ážááá¯ááºáá«áááºá á¡áá¬ážáá°á diffie-hellman-group14-sha1 algorithm ááᯠáá¯á¶áá±áá±á¬á·áá²ááŸááºááá·áº á¡ááºáááá¯áá®áááºáá»á¬ážá០áááºááŸá¬ážááá¯ááºáá«áááºá á¡ááá¡ááŸááºááŒá¯áááºááŸááºáá»á¬ážááœáẠSHA-1 ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠááá¯ááºááá¯ááºáá°ááœáẠááŸáááŒá®ážáá¬ážáááºáá±áá¶áááºááŸááºáá áºáá¯á¡ááœáẠááá¯ááºááááŸá¯áá áºáá¯ááá¯ááŸá¬ááœá±ááẠá¡áá»áááºá¡ááá·áºá¡áááºáááŸááá±á¬ááŒá±á¬áá·áºááŒá áºááŒá®ážá áááºáá¶áá°áá®ážáá»á¬ážáááá¯ááºááá¯ááºááŸá¯á¡áá»áááºááᯠáá»áááºáááºááŸá¯á¡áá»áááºáá¯ááºáá¯á¶ážáá»ááẠ(LoginGraceTime) ááŒáá·áº ááá·áºáááºáá¬ážáá±á¬ááŒá±á¬áá·áºá .
ssh-keygen ááẠááá¯á¡áá« OpenSSH 2 á០áá¶á·ááá¯ážáá±ážáá¬ážáá±á¬ rsa-sha512-7.2 á¡ááºáááá¯áá®áááºááá¯á· áá¯á¶áá±áááºááŸááºáá¬ážááŒá®áž OpenSSH 8.2-áááºááŸááºááá¯ážáá¬ážáá±á¬ áááºááŸááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áºá áá áºáá»á¬ážááœáẠOpenSSH á¡áá±á¬ááºážáá»á¬ážáá«ááŸáááá·áº á áá áºáá»á¬ážááœáẠáá¯ááºáá±á¬ááºááá·áºá¡áá« ááá¯ááºáááºáá®ááŸá¯ááŒá¿áá¬áá»á¬ážááᯠáááºáá®ážáá±ážááá¯ááºááá·áº ááŒá¿áá¬áá»á¬ážááᯠáááºáá®ážáá±ážááá¯ááºááẠ-keygen -t ssh-rsa" ááá¯á·ááá¯áẠOpenSSH 2 ááááºážá áá¶á·ááá¯ážáá¬ážáá±á¬ ecdsa-sha256-nistp384/521/5.7 algorithms ááá¯áá¯á¶ážáá«á
á¡ááŒá¬ážááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž-
- Include directive ááᯠsshd_config ááœáẠááá·áºááœááºážáá¬ážááŒá®ážá áááºážááẠá¡ááŒá¬ážááá¯ááºáá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠconfiguration file á áááºááŸáá¡áá±á¡áá¬ážááœáẠááá·áºááœááºážááá¯ááºááẠ(ááá¯ááºá¡áááºááᯠáááºááŸááºááá·áºá¡áá« glob masks áá»á¬ážááᯠááœáá·áºááŒá¯áá¬ážáááº)á
- ssh-keygen ááœáẠ"no-touch-required" option ááá¯ááá·áºááœááºážáá¬ážááŒá®ážá áá±á¬á·áá áºáá¯áááºáá®ážááá·áºá¡áá« ááá¯áááºááá¯á·áááºáá±á¬ááºááœáá·áºá¡áááºááŒá¯ááẠááá¯á¡ááºááŸá¯ááᯠááááºáá¬ážáááºá
- á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á á áºááŸááºááŒá±á¬ááºážáááºáá±ááŒááŒááºážááŸáá·áºáááºááá¯ááºááá·áºá¡áá»áá¯ážáá»áá¯ážáá±á¬ááœá±ážáá»ááºá áá¬áá»á¬ážááá¯áá±á«ááºážá ááºááẠsshd_config ááá¯á· PubkeyAuthOptions ááœáŸááºááŒá¬ážáá»ááºááᯠááá·áºááœááºážáá²á·áááºá áá±á¬áá±á¬áááºááœááºá ááá¯áááºáá áºáá¯ááŒáá·áº á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááá·áºá¡áá« áá¯ááºááá¯ááºážááá¯ááºáá¬áááºááŸáááŸá¯á á áºáá±ážááŒááºážááᯠáá»á±á¬áºááẠ"ááá áá¬áááá¯áá±á¬" á¡áá¶ááá¯áᬠáá¶á·ááá¯ážáá¬ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá "touch-required" option ááᯠauthorized_keys ááá¯ááºááœáẠááá·áºááœááºážáá¬ážáááºá
- áá±á¬á·áá»á¬ážáá¯ááºáá±ážááá·áºá¡áá« FIDO áááºáá±áá¶áááºááŸááºáá»á¬áž áááºáá¶áá±ážáá¬ážáááºá¡ááœáẠ"-O write-attestation=/path" option ááᯠssh-keygen ááœáẠááá·áºááœááºážáá²á·áááºá OpenSSH ááẠá€áááºááŸááºáá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá±ážáá±á¬áºáááºáž áá±á¬á·ááᯠáá¯á¶ááŒááºá áááºáá»ááá±á¬ áá¬á·ááºáá²á ááá¯ážááœáẠáá¬ážááŸááá¬ážááŒá±á¬ááºáž á¡áááºááŒá¯ááẠáááºážááá¯á·ááᯠáá±á¬ááºááá¯ááºážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- IPQoS ááœáŸááºááŒá¬ážáá»ááºááŸáááá·áº ssh ááŸáá·áº sshd ááááºáááºáá»á¬ážááœááºá ááᯠtraffic áŠážá
á¬ážáá±ážáá¯ááºááᯠáááºááŸááºááá¯ááºáá«ááŒá®
LE DSCP (Lower-Effort Per-Hop Behavior); - ssh ááœááºá "AddKeysToAgent=yes" áááºááá¯ážááᯠáááºááŸááºááá·áºá¡áá« áá±á¬á·ááẠááŸááºáá»ááºáá
áºáá¯áá«ááŸááá±á¬ á¡ááœááºáá
áºáᯠááá«áááºáá«áá áááºážááᯠááŸááºáá»ááºáá
áºáá¯á¡ááŒá
Ạáá±á¬á·áááºážááŒá±á¬ááºážááŒáá·áº ssh-agent ááá¯á· áá±á«ááºážááá·áºáááºááŒá
áºáááºá IN
ssh-keygen ááŸáá·áº ssh-agent ááá¯á·ááẠááá¯á¡áá« áá±á¬á·ááŸáááŸááºáá»ááºáá»á¬ážá¡ááŒá Ạá á¬ááŒáá·áºááá¯ááºáááºážááŒá±á¬ááºážá¡á á¬áž PKCS#11 áááºáá»á¬ážááŸáá·áº X.509 á¡ááŒá±á¬ááºážá¡áá¬á¡áááºááᯠá¡áá¯á¶ážááŒá¯áá«áááºá - DSA ááŸáá·áº ECDSA áá±á¬á·áá»á¬ážá¡ááœáẠPEM ááᯠssh-keygen ááá¯á· áááºááá¯á·ááá¯ááºááŸá¯ááᯠáááºááŒáá·áºáá¬ážáááºá
- FIDO/U2F ááá¯áááºáááºáá±á¬ááºááœáá·áºá á¬ááŒáá·áºááá¯ááºááᯠáá®ážááŒá¬ážááœá²áá¯ááºááẠá¡áá¯á¶ážááŒá¯ááá·áº executable ssh-sk-helper á¡áá áºáá áºáᯠáááºááá·áºáá¬ážáááºá
- zlib á á¬ááŒáá·áºááá¯ááºáá¶á·ááá¯ážááŸá¯ááŒáá·áº compile áá¯ááºááẠ"--with-zlib" build option ááᯠssh ááŸáá·áº sshd ááœáẠááá·áºáá¬ážáááºá
- RFC4253 áááá¯á¡ááºáá»ááºááŸáá·áºá¡áá®á áá»áááºáááºááŸá¯ááœááºááŒááá¬ážááá·áºááá°ážá ááºážááẠMaxStartups ááá·áºáááºáá»ááºáááºáá»á±á¬áºááœááºááŒááºážááŒá±á¬áá·áºáááºáá±á¬ááºááœáá·áºááá¯ááááºááá¯á·ááŒááºážááŸáá·áºáááºáááºáááááá±ážáá»ááºáá±ážáá¬ážáááºá áá±á¬áá«ááŸá¬ááœá±ááŸá¯áá»á¬ážááᯠááá¯ážááŸááºážá á±áááºá ps utility ááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá« ááŒááºááá¯ááºáá±á¬ sshd áá¯ááºáááºážá áẠáá±á«ááºážá á®ážááẠáááºááŸá á á áºááŸááºááŒá±á¬ááºáž á¡áááºááŒá¯áá¬ážáá±á¬ áá»áááºáááºááŸá¯áá»á¬áž á¡áá±á¡ááœááºááŸáá·áº MaxStartups ááá·áºáááºáá»ááºá á¡ááŒá±á¡áá±ááᯠááŒááááºá
- ssh ááŸáá·áº ssh-agent ááœááºá $SSH_ASKPASS ááŸáá áºááá·áº áááºááŸááºáá±ážáá¬ážááá·áº á¡áá»ááºááŒááẠáááá¯ááááºááᯠáá±á«áºááá¯áá±á¬á¡áá«á ááŸáá¯ážáá±á¬áºáá»ááºá¡áá»áá¯ážá¡á á¬ážáá«áá±á¬ á¡áá¶ááᯠááᯠáááºáá±á¬ááºážááá¯á·áááº- "confirm" - á¡áááºááŒá¯ááá¯ááºáá¬áá±á¬á·áẠ(áá¯ááº/ááá¯ááº)á "áááŸá" - á¡áá»ááºá¡áááºááá¯ááºáᬠáááºáá±á·áá»áºá "blank" â á áá¬ážááŸááºáá±á¬ááºážááá¯ááŸá¯;
- áááºááŸááºáá¬ážáá±á¬ áá áºáá»á áºááẠáááºááŸááºááŸáá·áº áááºá ááºáá±á¬ á¡áá¯á¶ážááŒá¯áá°á¡ááœáẠááœáá·áºááŒá¯áá¬ážáá±á¬ áááºááŸááºááá¯ážáá°áá»á¬áž ááá¯ááºááᯠááŸá¬ááœá±ááẠáá áºáá»á áºááẠáááºááŸáẠáá¯ááºáá±á¬ááºáá»áẠá¡áá Ạ"find-principals" ááᯠssh-keygen ááœáẠááá·áºááœááºážáá²á·áááºá
- seccomp ááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯á Linux áá±á«áºááŸá sshd áá¯ááºáááºážá ááºááᯠááœá²áá¯ááºááŒááºážá¡ááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá¶á·ááá¯ážááŸá¯- IPC á áá áºáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠááááºááŒááºážá clock_gettime64(), clock_nanosleep_time64, ááŸáá·áº clock_nanosleep()ááá¯á·ááᯠááœáá·áºááŒá¯áá«áááºá
source: opennet.ru