SSH เชฎเชพเชŸเซ‡ เชฌเซ‡-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ

"เชธเซเชฐเช•เซเชทเชฟเชค เชถเซ‡เชฒ" SSH เช เชฏเชœเชฎเชพเชจเซ‹ เชตเชšเซเชšเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เช•เชจเซ‡เช•เซเชถเชจ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เช›เซ‡, เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชชเซ‹เชฐเซเชŸ 22 เชชเชฐ (เชœเซ‡ เชฌเชฆเชฒเชตเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡). SSH เช•เซเชฒเชพเชฏเช‚เชŸ เช…เชจเซ‡ SSH เชธเชฐเซเชตเชฐเซเชธ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. เชฒเช—เชญเช— เช•เซ‹เชˆเชชเชฃ เช…เชจเซเชฏ เชจเซ‡เชŸเชตเชฐเซเช• เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ SSH เชจเซ€ เช…เช‚เชฆเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡, เชคเชฎเซ‡ เชฌเซ€เชœเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ เชฐเชฟเชฎเซ‹เชŸเชฒเซ€ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เชšเซ‡เชจเชฒ เชชเชฐ เช‘เชกเชฟเช“ เช…เชฅเชตเชพ เชตเชฟเชกเชฟเชฏเซ‹ เชธเซเชŸเซเชฐเซ€เชฎ เชŸเซเชฐเชพเชจเซเชธเชฎเชฟเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชตเช—เซ‡เชฐเซ‡. เช‰เชชเชฐเชพเช‚เชค, เชฐเชฟเชฎเซ‹เชŸ เชนเซ‹เชธเซเชŸ เชชเชฐ SOCKS เชชเซเชฐเซ‹เช•เซเชธเซ€ เชฆเซเชตเชพเชฐเชพ เชคเชฎเซ‡ เช† เชฐเชฟเชฎเซ‹เชŸ เชนเซ‹เชธเซเชŸ เชตเชคเซ€ เช…เชจเซเชฏ เชฏเชœเชฎเชพเชจเซ‹ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชˆ เชถเช•เซ‹ เช›เซ‹.

เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชชเชพเชธเชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช…เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เชธเช‚เชšเชพเชฒเช•เซ‹ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฐเซ€เชคเซ‡ SSH เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชธเชฎเชธเซเชฏเชพ เช เช›เซ‡ เช•เซ‡ เช–เชพเชจเช—เซ€ เช•เซ€ เชšเซ‹เชฐเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เชชเชพเชธเชซเซเชฐเซ‡เช เช‰เชฎเซ‡เชฐเชตเชพเชฅเซ€ เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡ เช–เชพเชจเช—เซ€ เช•เซ€เชจเซ€ เชšเซ‹เชฐเซ€ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เชฎเชณเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚, เช•เซ€เชจเซ‡ เชซเซ‹เชฐเชตเชฐเซเชก เช…เชจเซ‡ เช•เซ‡เชถ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡เช“ เชนเชœเซ เชชเชฃ เชชเซเชทเซเชŸเชฟ เชตเชฟเชจเชพ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฆเซเชตเชฟ-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡.

เชฆเซเชตเชฟ-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚

เชนเชจเซ€เช•เซ‹เชฎเซเชฌเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เช เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซเชฏเซเช‚ เชตเชฟเช—เชคเชตเชพเชฐ เชธเซ‚เชšเชจเชพเช“เช•เซเชฒเชพเชˆเชจเซเชŸ เช…เชจเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชฏเซ‹เช—เซเชฏ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚.

เชธเซ‚เชšเชจเชพเช“ เชงเชพเชฐเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชšเซ‹เช•เซเช•เชธ เชฎเซ‚เชณเชญเซ‚เชค เชนเซ‹เชธเซเชŸ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ (เชฌเซเช) เชฎเชพเชŸเซ‡ เช–เซเชฒเซเชฒเซเช‚ เช›เซ‡. เชคเชฎเซ‡ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชฆเซเชตเชพเชฐเชพ เชฒเซ‡เชชเชŸเซ‹เชช เช…เชฅเชตเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเซเชธเชฅเซ€ เช† เชนเซ‹เชธเซเชŸ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹, เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชชเชพเช›เชณ เชธเซเชฅเชฟเชค เช…เชจเซเชฏ เชคเชฎเชพเชฎ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹. 2FA เช เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชคเชฎเชพเชฐเชพ เชฒเซ‡เชชเชŸเซ‹เชชเชจเซ€ เชเช•เซเชธเซ‡เชธ เชฎเซ‡เชณเชตเซ‡ เชคเซ‹ เชชเชฃ เชคเซ‡ เชœ เช•เชฐเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชฎเชพเชฒเชตเซ‡เชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชจเซ‡.

เชชเซเชฐเชฅเชฎ เชตเชฟเช•เชฒเซเชช OTP เช›เซ‡

OTP - เชเช• เชตเช–เชคเชจเชพ เชกเชฟเชœเชฟเชŸเชฒ เชชเชพเชธเชตเชฐเซเชกเซเชธ, เชœเซ‡ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช•เซ€ เชธเชพเชฅเซ‡ SSH เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชถเซ‡. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฒเช–เซ‡ เช›เซ‡ เช•เซ‡ เช† เชเช• เช†เชฆเชฐเซเชถ เชตเชฟเช•เชฒเซเชช เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชจเช•เชฒเซ€ เช—เชข เช‰เชญเซ‹ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชคเชฎเชพเชฐเชพ OTPเชจเซ‡ เช…เชŸเช•เชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เช•เช‚เช‡ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡.

เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชธเชฐเซเชตเชฐ เชฌเชพเชœเซ เชชเชฐ, เชจเซ€เชšเซ‡เชจเซ€ เชฒเซ€เชŸเซ€เช“ เชถเซ‡เชซ เชฐเซ‚เชชเชฐเซ‡เช–เชพเชฎเชพเช‚ เชฒเช–เซ‡เชฒเซ€ เช›เซ‡:

  • metadata.rb
  • attributes/default.rb (เชจเซ€ attributes.rb)
  • files/sshd
  • recipes/default.rb (เชฎเชพเช‚เชฅเซ€ เชจเช•เชฒ recipe.rb)
  • templates/default/users.oath.erb

เช•เซ‹เชˆเชชเชฃ OTP เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซเชฒเชพเชฏเช‚เชŸ เชฌเชพเชœเซ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซ€ เช›เซ‡: Google Authenticator, Authy, Duo, Lastpass, เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ brew install oath-toolkit เช…เชฅเชตเชพ apt install oathtool openssl, เชชเช›เซ€ เชฐเซ‡เชจเซเชกเชฎ เชฌเซ‡เช16 เชธเซเชŸเซเชฐเชฟเช‚เช— (เช•เซ€) เชœเชจเชฐเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชฌเซ‡เช32 เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡ เชœเซ‡เชจเซ‹ เชฎเซ‹เชฌเชพเช‡เชฒ เช“เชฅเซ‡เชจเซเชŸเชฟเช•เซ‡เชŸเชฐเซเชธ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเซ€เชงเชพ เชœ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เช†เชฏเชพเชค เช•เชฐเซ‡ เช›เซ‡.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเชฎเซ‡ Bastion เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชคเซ‡เชจเซ‡ เชนเชตเซ‡ เชฎเชพเชคเซเชฐ เชชเชพเชธเชซเซเชฐเซ‡เช เชœ เชจเชนเซ€เช‚, เชชเชฃ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ OTP เช•เซ‹เชกเชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เช›เซ‡:

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

เชฌเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เช›เซ‡

เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช เชฆเชฐ เชตเช–เชคเซ‡ OTP เช•เซ‹เชก เชฆเชพเช–เชฒ เช•เชฐเชตเซ‹ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชฌเซ€เชœเซเช‚ เชชเชฐเชฟเชฌเชณ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช‰เชชเช•เชฐเชฃ เช…เชฅเชตเชพ เชฌเชพเชฏเซ‹เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡.

เช…เชนเซ€เช‚ เชถเซ‡เชซ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฅเซ‹เชกเซ€ เชตเชงเซ เชœเชŸเชฟเชฒ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เช—เซ‹เช เชตเชฃเซ€ OS เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฎ เชชเช—เชฒเชพเช‚ เชชเซ‚เชฐเซเชฃ เช•เชฐเซเชฏเชพ เชชเช›เซ€, MacOS เชชเชฐเชจเชพ เช•เซเชฒเชพเชฏเช‚เชŸ เชชเชพเชธเชซเซเชฐเซ‡เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชธเซ‡เชจเซเชธเชฐ (เชฌเซ€เชœเชพ เชชเชฐเชฟเชฌเชณ) เชชเชฐ เช†เช‚เช—เชณเซ€ เชฎเซ‚เช•เซ€เชจเซ‡ SSH เชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃเชจเซ€ เชชเซเชทเซเชŸเชฟ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

iOS เช…เชจเซ‡ Android เชฎเชพเชฒเชฟเช•เซ‹ เชฒเซ‰เช—เชฟเชจเชจเซ€ เชชเซเชทเซเชŸเชฟ เช•เชฐเซ‡ เช›เซ‡ เชคเชฎเชพเชฐเชพ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ เชเช• เชฌเชŸเชจ เชฆเชฌเชพเชตเซ€เชจเซ‡. เช† Krypt.co เชคเชฐเชซเชฅเซ€ เชเช• เช–เชพเชธ เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€ เช›เซ‡, เชœเซ‡ OTP เช•เชฐเชคเชพเช‚ เชชเชฃ เชตเชงเซ เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡.

Linux/ChromeOS เชชเชฐ YubiKey USB เชŸเซ‹เช•เชจเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชคเชฎเชพเชฐเซเช‚ เชŸเซ‹เช•เชจ เชšเซ‹เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชนเชœเซ เชชเชฃ เชชเชพเชธเชซเซเชฐเซ‡เช เชœเชพเชฃเชคเซ‹ เชจเชฅเซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹