SSH рдХреЗ рд▓рд┐рдП рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

"рд╕рд┐рдХреНрдпреЛрд░ рд╢реЗрд▓" рдПрд╕рдПрд╕рдПрдЪ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рдорд╛рдирдХ рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ 22 (рдЬрд┐рд╕реЗ рдмрджрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ) рдкрд░ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред SSH рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ SSH рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ SSH рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА, рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЪреИрдирд▓ рдкрд░ рдСрдбрд┐рдпреЛ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред рдЕрд▓рд╛рд╡рд╛, рдХрд┐рд╕реА рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдкрд░ SOCKS рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдЗрд╕ рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рдХреА рдУрд░ рд╕реЗ рдЕрдиреНрдп рд╣реЛрд╕реНрдЯ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ SSH рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рдЬреА рдХреБрдВрдЬреА рдЪреЛрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреА рдЪреЛрд░реА рд╕реЗ рдмрдЪрд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдФрд░ рдХреИрд╢рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рд╡реЗ рдкреБрд╖реНрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред

рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

рд╣рдиреАрдХреЙрдореНрдм рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢, рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдЪрд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реЗрдВред

рдирд┐рд░реНрджреЗрд╢ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрдВрдЯрд░рдиреЗрдЯ (рдЧрдврд╝) рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмреБрдирд┐рдпрд╛рджреА рд╣реЛрд╕реНрдЯ рдЦреБрд▓рд╛ рд╣реИред рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реИрдкрдЯреЙрдк рдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЗрд╕ рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рд╕реНрдерд┐рдд рдЕрдиреНрдп рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред 2FA рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рднрд▓реЗ рд╣реА рд╡реЗ рдЖрдкрдХреЗ рд▓реИрдкрдЯреЙрдк рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрд▓рд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдХреЗред

рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ OTP

рдУрдЯреАрдкреА - рд╡рди-рдЯрд╛рдЗрдо рдбрд┐рдЬрд┐рдЯрд▓ рдкрд╛рд╕рд╡рд░реНрдб, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрд╕рдПрд╕рдПрдЪ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдирдХрд▓реА рдЧрдврд╝ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЗ рдУрдЯреАрдкреА рдХреЛ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рди рд╣реЛрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╢реЗрдл рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИрдВ:

  • metadata.rb
  • attributes/default.rb (рд╕реЗ attributes.rb)
  • files/sshd
  • recipes/default.rb (рд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ recipe.rb)
  • templates/default/users.oath.erb

рдХреЛрдИ рднреА рдУрдЯреАрдкреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: Google рдкреНрд░рдорд╛рдгрдХ, рдСрдереА, рдбреБрдУ, рд▓рд╛рд╕реНрдЯрдкрд╛рд╕, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ brew install oath-toolkit рдпрд╛ apt install oathtool openssl, рдлрд┐рд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмреЗрд╕16 рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдХреБрдВрдЬреА) рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдЗрд╕реЗ рдмреЗрд╕32 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдкреНрд░рдорд╛рдгрдХ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рдмреИрд╕реНрдЯрд┐рдпрди рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рдЗрд╕реЗ рди рдХреЗрд╡рд▓ рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдЯреАрдкреА рдХреЛрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

тЮЬ ssh -A bastion
Enter passphrase for key '[snip]': 
One-time password (OATH) for '[user]': 
Welcome to Ubuntu 18.04.1 LTS...

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╣реИ

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рд░ рдмрд╛рд░ рдУрдЯреАрдкреА рдХреЛрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреВрд╕рд░рд╛ рдХрд╛рд░рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рдмрд╛рдпреЛрдореЗрдЯреНрд░рд┐рдХреНрд╕ рдмрди рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╢реЗрдл рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдУрдПрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, MacOS рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рд╕реЗрдВрд╕рд░ (рджреВрд╕рд░рд╛ рдХрд╛рд░рдХ) рдкрд░ рдЙрдВрдЧрд▓реА рд░рдЦрдХрд░ SSH рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

iOS рдФрд░ Android рд╕реНрд╡рд╛рдореА рд▓реЙрдЧрд┐рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдПрдХ рдмрдЯрди рджрдмрд╛рдХрд░. рдпрд╣ Krypt.co рдХреА рдПрдХ рдЦрд╛рд╕ рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ OTP рд╕реЗ рднреА рдЬреНрдпрд╛рджрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

Linux/ChromeOS рдкрд░ YubiKey USB рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдмреЗрд╢рдХ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЖрдкрдХрд╛ рдЯреЛрдХрди рдЪреБрд░рд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдЕрднреА рднреА рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ