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 เดธเตเดŸเตเดฐเดฟเด‚เด—เต (เด•เต€) เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฎเตŠเดฌเตˆเตฝ เด“เดคเดจเตเดฑเดฟเด•เตเด•เต‡เดฑเตเดฑเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ Base32 เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด‡เดคเต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเต‡เด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเดพเดธเตโ€Œเดฑเตเดฑเดจเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเต เด…เดคเดฟเดจเต เด‡เดชเตเดชเต‹เตพ เด’เดฐเต เดชเดพเดธเตโ€Œเดซเตเดฐเต†เดฏเตโ€Œเดธเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต 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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•