.Ssh / рдЬреНрдЮрд╛рдд_рд╣реЛрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ


рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо ssh рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, ssh рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдпрд╣ ssh рдорд╛рдирдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ)ред OpenSSH рдореЗрдВ, рдЬреНрдЮрд╛рдд рд╕рд░реНрд╡рд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреНрдЮрд╛рдд_рд╣реЛрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдХреЗрдЯрдо рдХреЗ рддрд╣рдд рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рд╡рд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рднреА рдкреНрд░рдпреЛрдЧ рд▓рд┐рдирдХреНрд╕ (рдбреЗрдмрд┐рдпрди / рдорд┐рдВрдЯ / рдЙрдмрдВрдЯреВ) рдкрд░ рдХрд┐рдП рдЧрдП рдереЗред рдореИрдВ рдЕрдиреНрдп рдУрдПрд╕ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╡рд╛рдЙрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдкрд╣рд▓реА рдмрд╛рд░ ssh рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░, рд╣рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрддреЗ рд╣реИрдВ:
рдореЗрдЬрдмрд╛рди рдХреА рдкреНрд░рд╛рдорд╛рдгрд┐рдХрддрд╛ '192.168.0.2 (192.168.0.2)' рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред
RSA рдХреБрдВрдЬреА рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ SHA256 рд╣реИ: kd9mRkEGLo + RBBNpxKp7mInocF3 / Yl / 0fXRsGJ2JfYgред
рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╣рд╛рдВ / рдирд╣реАрдВ)?
рдпрджрд┐ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ ~ / .ssh / рдЬреНрдЮрд╛рдд_рд╣реЛрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝ рджреА рдЬрд╛рдПрдЧреА:
| 1 | CuXixZ + EWfgz40wpkMugPHPalyk = | KNoVhur7z5NAZmNndtwWq0kN1SQ = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeiF4OOOUhWvOYrh / e4q91 + iz + i9S0s3M2LPq + GAhRlhKt5vKyEVd6x6m26cc98Y + SQXnCB9GWeVYk8jlFHEXnY4YWeWLDwXIhHBJYt5yz3j5Wkg95x + mPvO9FLSBk / Al2GbH5q6F + hZIlLmO6ciISmX4TtcG1sw4SwoTADrrhdM0OJd + c5CU8iqCbc6PznYbLZXCvqPZTWeSbTLUcUu1Ti + 7xGwT8DF + tIyLFcU + zxd0QnwJIbNvewkHs0LsMOWFVPz / Nd0XiVXimX + ugCDBZ / 4q8NUwH9SGzCMAvnnr + D1I8X2vhSuRsTsQXL5P3vf8elDxPdDrMJzNtlBCbLWzV
рдпрд╣рд╛рдВ, рддреАрди рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ: рд╕рд░реНрд╡рд░ рдХреА рдУрд░ рд╕реЗ рдПрдХ рд╣реИрд╢, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЕрд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдирд╛рдо, рдФрд░ рд╕рд░реНрд╡рд░ рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреАред рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд▓реЗ рдЬрд╛рдПрдВред

рдФрд░ рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджреЗрд╢ рдкрдврд╝рддреЗ рд╣реИрдВ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреВрдмреБрдВрдЯ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░, 2 рдФрд░ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рднреА рд╣реЛрддреЗ рд╣реИрдВ:
  • рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдЪрд┐рд╣реНрди тАЬ@ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ-рдЕрдереЙрд░рд┐рдЯреАтАЭ рдпрд╛ тАЬ@revokedтАЭ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рдХреНрд░рдорд╢рдГ, рдХрд┐ рдЗрд╕ рд▓рд╛рдЗрди рдореЗрдВ CA рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдпрд╛ рдХрд┐ рдпрд╣ рдХреБрдВрдЬреА рдирд┐рд░рд╕реНрдд рдХрд░ рджреА рдЧрдИ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рдЯрд┐рдкреНрдкрдгреА рд╣реЛ рд╕рдХрддреА рд╣реИ


рд╕рд░реНрд╡рд░ рдХрд╛ рдирд╛рдо


рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рд░реНрд╡рд░ (рд╣реЛрд╕реНрдЯ) рдХреА рдУрд░ рд╕реЗ рд╣реИрд╢ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
| 1 | CuXixZ + EWfgz40wpkMugPHPalyk = | KNoVhur7z5NAZmNndtwWq0kN1SQ =
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рд╣реЛрд╕реНрдЯ рдирд╛рдо рдпрд╛ рдорд╛рдиреНрдп рдирд╛рдореЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореБрдЦреМрдЯрд╛ рдпрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрд╢ рдирд╛рдо рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреАрдХ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдХреЙрд░реНрдб рдХреЛ 3 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ "" | рдкрд╣рд▓рд╛ рднрд╛рдЧ рд╣реИрд╢рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИред "1" HMAC-SHA1 рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ (рдореИрдВрдиреЗ рджреВрд╕рд░реЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ)ред рджреВрд╕рд░рд╛ рднрд╛рдЧ рдирдордХ (HMAC рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА) рд╣реИред рддреАрд╕рд░рд╛ рднрд╛рдЧ рд╣реИрд╢ рд╣реА (HMAC рдЖрдЙрдЯрдкреБрдЯ) рд╣реИред

рдЪреЗрдХ
from base64 import b64decode import hmac salt = b64decode("CuXixZ+EWfgz40wpkMugPHPalyk=") host = b'192.168.0.2' hash = hmac.HMAC(salt, host, 'sha1').digest() print(b64encode(hash).decode()) 

> 'KNoVhur7z5NAZmNndtwWq0kN1SQ ='

рдЕрд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


RFC-4253 4 рдЕрд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ: ssh-dss (рдорд╛рдирдХ рджреНрд╡рд╛рд░рд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп, рд▓реЗрдХрд┐рди рдХрдордЬреЛрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ OpenSSH7.0 рдХреЗ рдмрд╛рдж рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ), ssh-rsa (рдЕрдиреБрд╢рдВрд╕рд┐рдд), pgp-sign-rsa (рд╡реИрдХрд▓реНрдкрд┐рдХ), pgp- рд╕рд╛рдЗрди-рдбреАрдПрд╕рдПрд╕ (рд╡реИрдХрд▓реНрдкрд┐рдХ)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкрд╣рд▓реЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рдХреБрдВрдЬрд┐рдпрд╛рдБ RFC рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЕрдгреНрдбрд╛рдХрд╛рд░ рд╡рдХреНрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдмрд╛рдж рд╡рд╛рд▓рд╛ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЗрдВрдЯ HostKeyAl рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рдВрдЫрд┐рдд (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ) рдХреБрдВрдЬреА рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдЙрд╕ рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХреБрдВрдЬреА рдХреЗ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдХреЗрд╡рд▓ ssh-rsa рдХреБрдВрдЬреА рдХреЗ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВред рддрдм рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
ssh root@192.168.0.2 -O HostKeyAl рдПрд▓реНрдЧреЛрд░рд┐рджрдо = ssh-rsa

рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рдореБрдЦ рд╣реИрд╢рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯрдкреНрд░рд┐рдВрдЯ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЗрд╡рд▓ md5 ssh-rsa рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ssh root@192.168.0.2 -O HostKeyAl рдПрд▓реНрдЧреЛрд░рд┐рджрдо = ssh-rsa -o FingerprintHash = md5


рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА


рдЬреНрдЮрд╛рдд_рд╣реЛрд╕реНрдЯ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рд╡рд╣реА рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ /etc/ssh/ssh_host_rsa_key.pub рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд░реНрдЬ рдХреА рдЧрдИ рд╣реИ (rsa рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ)ред рдпрджрд┐ рдЖрдк рдмреЗрд╕ 64 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрджрд░ рдлрд┐рд░ рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдореБрдЦ рдШрдЯрдХреЛрдВ рдХрд╛ рдирд╛рдо рд╣реЛрдЧрд╛ред

рдХреНрдпреЛрдВ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ Base64
 b'\x00\x00\x00\x07ssh-rsa\x00\x00\x00\x03\x01\x00\x01\x00\x00\x01\x01\x00\x9e\x88^\x0e8\xe5!Z\xf3\x98\xae\x1f\xde\xe2\xafu\xfa,\xfe\x8b\xd4\xb4\xb3s6,\xfa\xbe\x18\x08Q\x96\x12\xad\xe6\xf2\xb2\x11Wz\xc7\xa9\xb6\xe9\xc7=\xf1\x8f\x92Ay\xc2\x07\xd1\x96yV$\xf29E\x1cE\xe7c\x86\x16yb\xc3\xc1r!\x1c\x12X\xb7\x9c\xb3\xde>V\x92\x0fy\xc7\xe9\x8f\xbc\xefE- d\xfc\tv\x19\xb1\xf9\xab\xa1~\x85\x92%.c\xbar"\x12\x99~\x13\xb5\xc1\xb5\xb3\x0e\x12\xc2\x84\xc0\x0e\xba\xe1t\xcd\x0e%\xdf\x9c\xe4%<\x8a\xa0\x9bs\xa3\xf3\x9d\x86\xcbep\xaf\xa8\xf6SY\xe4\x9bL\xb5\x1cR\xedS\x8b\xee\xf1\x1b\x04\xfc\x0c_\xad#"\xc5qO\xb3\xc5\xdd\x10\x9f\x02Hl\xdb\xde\xc2A\xec\xd0\xbb\x0c9aU??\xcdwE\xe2Ux\xa6_\xeb\xa0\x080Y\xff\x8a\xbc5L\x07\xf5!\xb3\x08\xc0/\x9ez\xfe\x0fR<_k\xe1J\xe4lN\xc4\x17/\x93\xf7\xbd\xff\x1e\x94<Ot:\xcc\'3m\x94\x10\x9b-l\xd5' 
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ 4 рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреА рд▓рдВрдмрд╛рдИ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рдлрд╝реАрд▓реНрдб рд╕реНрд╡рдпрдВ, рдЖрджрд┐ред рдкрд╣рд▓рд╛ рдлрд╝реАрд▓реНрдб рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдирд╛рдо рд╣реИ, рдмрд╛рдХреА рд╡рд┐рд╢реЗрд╖ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдХреБрдВрдЬреА рдореЗрдВ, 3 рдлрд╝реАрд▓реНрдб:
 b'ssh-rsa' -  b'\x01\x00\x01' -   b'\x00\x9e\x88^\x0e8\xe5!Z\xf3\x98\xae\x1f\xde\xe2\xafu\xfa,\xfe\x8b\xd4\xb4\xb3s6,\xfa\xbe\x18\x08Q\x96\x12\xad\xe6\xf2\xb2\x11Wz\xc7\xa9\xb6\xe9\xc7=\xf1\x8f\x92Ay\xc2\x07\xd1\x96yV$\xf29E\x1cE\xe7c\x86\x16yb\xc3\xc1r!\x1c\x12X\xb7\x9c\xb3\xde>V\x92\x0fy\xc7\xe9\x8f\xbc\xefE- d\xfc\tv\x19\xb1\xf9\xab\xa1~\x85\x92%.c\xbar"\x12\x99~\x13\xb5\xc1\xb5\xb3\x0e\x12\xc2\x84\xc0\x0e\xba\xe1t\xcd\x0e%\xdf\x9c\xe4%<\x8a\xa0\x9bs\xa3\xf3\x9d\x86\xcbep\xaf\xa8\xf6SY\xe4\x9bL\xb5\x1cR\xedS\x8b\xee\xf1\x1b\x04\xfc\x0c_\xad#"\xc5qO\xb3\xc5\xdd\x10\x9f\x02Hl\xdb\xde\xc2A\xec\xd0\xbb\x0c9aU??\xcdwE\xe2Ux\xa6_\xeb\xa0\x080Y\xff\x8a\xbc5L\x07\xf5!\xb3\x08\xc0/\x9ez\xfe\x0fR<_k\xe1J\xe4lN\xc4\x17/\x93\xf7\xbd\xff\x1e\x94<Ot:\xcc\'3m\x94\x10\x9b-l\xd5' -  N (0x101 * 8 = 2048 ) 


рдХреБрдВрдЬреА рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ (рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ)


рдкрд╣рд▓реЗ рдХрдиреЗрдХреНрд╢рди рдкрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреБрдВрдЬреА рдХрд╛ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдФрд░ /etc/ssh/ssh_host_rsa_key.pub рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рд╕реЗ рдЗрд╕реА рд╣реИрд╢ (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, SHA256) рд╣реИред рдпрд╣ SHA рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╛ MD5 рдХреЗ рд▓рд┐рдП рд╣реЗрдХреНрд╕ рдореЗрдВ base64 рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИред

рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
 from hashlib import sha256 from base64 import b64decode, b64encode pub_key_bin = b64decode("AAAAB3NzaC1yc2EAAAADAQABAAABAQCeiF4OOOUhWvOYrh/e4q91+iz+i9S0s3M2LPq+GAhRlhKt5vKyEVd6x6m26cc98Y+SQXnCB9GWeVYk8jlFHEXnY4YWeWLDwXIhHBJYt5yz3j5Wkg95x+mPvO9FLSBk/Al2GbH5q6F+hZIlLmO6ciISmX4TtcG1sw4SwoTADrrhdM0OJd+c5CU8iqCbc6PznYbLZXCvqPZTWeSbTLUcUu1Ti+7xGwT8DF+tIyLFcU+zxd0QnwJIbNvewkHs0LsMOWFVPz/Nd0XiVXimX+ugCDBZ/4q8NUwH9SGzCMAvnnr+D1I8X2vhSuRsTsQXL5P3vf8elDxPdDrMJzNtlBCbLWzV") hash = sha256(pub_key_bin).digest() fingerprint = b64encode(hash) print(fingerprint) > b'kd9mRkEGLo+RBBNpxKp7mInocF3/Yl/0fXRsGJ2JfYg=' + iz + i9S0s3M2LPq + GAhRlhKt5vKyEVd6x6m26cc98Y + SQXnCB9GWeVYk8jlFHEXnY4YWeWLDwXIhHBJYt5yz3j5Wkg95x + mPvO9FLSBk / Al2GbH5q6F + hZIlLmO6ciISmX4TtcG1sw4SwoTADrrhdM0OJd + c5CU8iqCbc6PznYbLZXCvqPZTWeSbTLUcUu1Ti + 7xGwT8DF + tIyLFcU + zxd0QnwJIbNvewkHs0LsMOWFVPz / Nd0XiVXimX + ugCDBZ / 4q8NUwH9SGzCMAvnnr + D1I8X2vhSuRsTsQXL5P3vf8elDxPdDrMJzNtlBCbLWzV") from hashlib import sha256 from base64 import b64decode, b64encode pub_key_bin = b64decode("AAAAB3NzaC1yc2EAAAADAQABAAABAQCeiF4OOOUhWvOYrh/e4q91+iz+i9S0s3M2LPq+GAhRlhKt5vKyEVd6x6m26cc98Y+SQXnCB9GWeVYk8jlFHEXnY4YWeWLDwXIhHBJYt5yz3j5Wkg95x+mPvO9FLSBk/Al2GbH5q6F+hZIlLmO6ciISmX4TtcG1sw4SwoTADrrhdM0OJd+c5CU8iqCbc6PznYbLZXCvqPZTWeSbTLUcUu1Ti+7xGwT8DF+tIyLFcU+zxd0QnwJIbNvewkHs0LsMOWFVPz/Nd0XiVXimX+ugCDBZ/4q8NUwH9SGzCMAvnnr+D1I8X2vhSuRsTsQXL5P3vf8elDxPdDrMJzNtlBCbLWzV") hash = sha256(pub_key_bin).digest() fingerprint = b64encode(hash) print(fingerprint) > b'kd9mRkEGLo+RBBNpxKp7mInocF3/Yl/0fXRsGJ2JfYg=' 

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣реИрд╢ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рдХрдиреЗрдХреНрд╢рди (рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмреЛрд▓реА) рдХреЗ рджреМрд░рд╛рди рджрд┐рдЦрд╛рдП рдЧрдП рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЕрдВрдд рдореЗрдВ "=" рдкреНрд░рддреАрдХ рддрдХред

рдпрд╣рд╛рдВ рдЬреНрдЮрд╛рдд_рд╣реЛрд╕реНрдЯреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рдЬреЛ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рджреМрд░рд╛рди рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред

Source: https://habr.com/ru/post/hi421477/


All Articles