เจ…เจธเฉ€เจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ SSH เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉฑเจ• เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚

เจ…เจธเฉ€เจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ SSH เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉฑเจ• เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚

เจ‡เจธ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ”เจซเจฒเจพเจˆเจจ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ SSH เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉฑเจ• เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‡เจน เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจชเจนเฉเฉฐเจš เจนเฉˆ, เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจฎเฉเจคเจพเจฌเจ• เจขเจพเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ…เจธเฉ€เจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ 'เจคเฉ‡ เจธเจพเจกเฉ‡ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจฒเจˆ SSH เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจฅเจพเจฐเจŸเฉ€ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‡เจน เจธเจ•เฉ€เจฎ เจฒเจ—เจญเจ— เจ•เจฟเจธเฉ‡ เจตเฉ€ OpenSSH 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เฉ€, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจฟเฉฐเจ—เจฒ เจธเจพเจˆเจจ-เจ†เจจ เจฆเฉ‡ เจจเจพเจฒ SSH เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค

เจ‡เจน เจธเจญ เจ•เจพเจนเจฆเฉ‡ เจฒเจˆ เจนเฉˆ? เจ–เฉˆเจฐ, เจ‡เจน เจ‡เฉฑเจ• เจ†เจ–เจฐเฉ€ เจธเจนเจพเจฐเจพ เจตเจฟเจ•เจฒเจช เจนเฉˆ. เจ‡เจน เจ‡เฉฑเจ• เจชเจฟเจ›เจฒเจพ เจฆเจฐเจตเจพเจœเจผเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจธเจฐเจตเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจ•เฉเจ เจนเฉ‹เจฐ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ.

เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจœเจจเจคเจ•/เจจเจฟเฉฑเจœเฉ€ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจ‰เจ‚ เจ•เจฐเฉ€เจ?

  • เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ‡ เจ‰เจฒเจŸ, เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจ‰เจฎเจฐ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ 1 เจฎเจฟเฉฐเจŸ เจœเจพเจ‚ 5 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจตเฉ€ เจตเฉˆเจง เจนเฉˆเฅค เจ‡เจธ เจฎเจฟเจ†เจฆ เจฆเฉ‡ เจฌเจพเจ…เจฆ, เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเจตเฉ‡เจ‚ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจฌเฉ‡เจ•เจพเจฐ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจน เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจ†เจฆเจฐเจธเจผ เจนเฉˆเฅค
  • เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ 'เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ–เจพเจคเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡, เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจคเจพเจ‚ เจ…เจœเจฟเจนเฉ‡ "เจ‡เฉฑเจ• เจตเจพเจฐ" เจธเจนเจฟเจฏเฉ‹เจ—เฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจญเฉ‡เจœ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ

  • เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจœเฉ‹ เจจเจฟเจตเจพเจธเฉ€ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค
    เจฐเฉˆเจœเจผเฉ€เจกเฉˆเจ‚เจŸ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจนเจจ เจœเฉ‹ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ•เจˆ เจตเจพเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ…เฉฑเจ–เจฐ เจ…เฉฐเจ•เฉ€ PIN เจฆเฉเจ†เจฐเจพ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฐเฉˆเจœเจผเฉ€เจกเฉˆเจ‚เจŸ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ‡ เจœเจจเจคเจ• เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ เจคเฉ‹เจ‚ เจจเจฟเจฐเจฏเจพเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจ•เฉเฉฐเจœเฉ€ เจนเฉˆเจ‚เจกเจฒ เจฆเฉ‡ เจจเจพเจฒเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฏเฉ‚เจฌเฉ€เจ•เฉ€ 5 เจธเฉ€เจฐเฉ€เจœเจผ เจฆเฉ€เจ†เจ‚ USB เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเจฟเจตเจพเจธเฉ€ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจน เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ‰เจน เจนเฉ‹เจธเจŸ เจคเฉฑเจ• เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจนเฉ€ เจนเจจเฅค เจ‡เจธ เจชเฉ‹เจธเจŸ เจฒเจˆ เจฎเฉˆเจ‚ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ, เจชเจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฌเฉˆเจ•เจ…เฉฑเจช เจฒเจˆ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค
  • เจ‰เจนเจจเจพเจ‚ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจฅเจพเจ‚เฅค
  • เจคเฉเจนเจพเจกเฉ‡ เจธเจฅเจพเจจเจ• เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ OpenSSH เจธเฉฐเจธเจ•เจฐเจฃ 8.2 เจœเจพเจ‚ เจ‰เฉฑเจšเจพ, เจœเจฟเจจเฉเจนเจพเจ‚ เจคเฉฑเจ• เจคเฉเจธเฉ€เจ‚ เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฌเฉฐเจŸเฉ‚ 20.04 เจ“เจชเจจเจเจธเจเจธเจเจš 8.2 เจจเจพเจฒ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค
  • (เจตเจฟเจ•เจฒเจชเจฟเจ•, เจชเจฐ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เฉ€เจคเฉ€) เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• CLI เจŸเฉ‚เจฒเฅค

เจธเจฟเจ–เจฒเจพเจˆ

เจชเจนเจฟเจฒเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจ…เจฅเจพเจฐเจŸเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจœเฉ‹ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ•เฉเฉฐเจœเฉ€ เจชเจพเจ“ เจ…เจคเฉ‡ เจšเจฒเจพเจ“:

$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ (-C) เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจธเฉฐเจ•เฉ‡เจค เจ•เฉ€เจคเจพ [เจˆเจฎเฉ‡เจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค]เจ‡เจธ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจจเจพ เจญเฉเฉฑเจฒเฉ‹ เจ•เจฟ เจ‡เจน เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจฅเจพเจฐเจŸเฉ€ เจ•เจฟเจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค

เจฏเฉ‚เจฌเฉ€เจ•เฉ€ เจตเจฟเฉฑเจš เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเจจ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฆเฉ‹ เจซเจพเจˆเจฒเจพเจ‚ เจธเจฅเจพเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจฃเจ—เฉ€เจ†เจ‚:

  1. sk-user-ca, เจ‡เฉฑเจ• เจ•เฉเฉฐเจœเฉ€ เจนเฉˆเจ‚เจกเจฒ เจœเฉ‹ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจจเจฟเฉฑเจœเฉ€ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ,
  2. sk-user-ca.pub, เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจฅเจพเจฐเจŸเฉ€ เจฒเจˆ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจชเจฐ เจšเจฟเฉฐเจคเจพ เจจเจพ เจ•เจฐเฉ‹, Yubikey เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€เฅค เจ‡เจธ เจฒเจˆ, เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉˆ.

เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ 'เจคเฉ‡, เจฐเฉ‚เจŸ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, เจ†เจชเจฃเฉ€ SSHD เจธเฉฐเจฐเจšเจจเจพ (/etc/ssh/sshd_config) เจตเจฟเฉฑเจš เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹ (เจœเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ):

TrustedUserCAKeys /etc/ssh/ca.pub

เจซเจฟเจฐ เจนเฉ‹เจธเจŸ 'เจคเฉ‡, เจชเจฌเจฒเจฟเจ• เจ•เฉเฉฐเจœเฉ€ (sk-user-ca.pub) เจจเฉ‚เฉฐ /etc/ssh/ca.pub เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹

เจกเฉˆเจฎเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹:

# /etc/init.d/ssh restart

เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจนเฉ‹เจธเจŸ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค เจชเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ. เจ‡เฉฑเจ• เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเจพ เจฌเจฃเจพเจ“ เจœเฉ‹ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉ‹เจตเฉ‡เจ—เจพ:

$ ssh-keygen -t ecdsa -f emergency

เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจคเฉ‡ SSH เจœเฉ‹เฉœเฉ‡
เจ•เจˆ เจตเจพเจฐ เจœเจจเจคเจ•/เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเฉ‡ เจฆเฉ‡ เจฌเจฆเจฒ เจตเจœเฉ‹เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เจน เจชเจฐเจคเจพเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจชเจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เจ•เฉฑเจฒเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจนเฉ€ เจ•เจพเจซเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเจพเจฒ เจœเฉเฉœเฉ€ เจ‡เฉฑเจ• เจจเจฟเฉฑเจœเฉ€ เจ•เฉเฉฐเจœเฉ€ เจตเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เจธ "เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€" เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเฉ‡ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจœเฉ‹ เจ•เจฟ เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ เจœเจฟเจธ เจฒเจˆ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจ•เฉเฉฐเจœเฉ€ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจเจ•เจธเจšเฉ‡เจ‚เจœ เจ…เจœเฉ‡ เจตเฉ€ เจœเจผเจฟเฉฐเจฆเจพ เจ…เจคเฉ‡ เจตเจงเฉ€เจ† เจนเฉˆ. เจ‡เจน เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ‡ เจจเจพเจฒ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ. เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจธเจฐเจตเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ…เฉฑเจ—เฉ‡, เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ–เฉเจฆ เจฌเจฃเจพเจ“เฅค เจฎเฉˆเจจเฉ‚เฉฐ 10 เจฎเจฟเฉฐเจŸ เจฆเฉ‡ เจ…เฉฐเจคเจฐเจพเจฒ เจตเจฟเฉฑเจš เจ‰เจฌเฉฐเจŸเฉ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจงเจฟเจ•เจพเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจซเจฟเฉฐเจ—เจฐเจชเฉเจฐเจฟเฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ 'เจคเฉ‡ เจฆเจธเจคเจ–เจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจคเฉเจธเฉ€เจ‚ เจ•เจพเจฎเจฟเจ†เจ‚ เจฆเฉเจ†เจฐเจพ เจตเฉฑเจ– เจ•เฉ€เจคเฉ‡ เจตเจพเจงเฉ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฎ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ -n ubuntu,carl,ec2-user

เจฌเฉฑเจธ, เจนเฉเจฃ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจนเฉˆ! เจ…เฉฑเจ—เฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจนเฉ€ เจ…เจจเฉเจฎเจคเฉ€เจ†เจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

$ chmod 600 emergency-cert.pub

เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹:

$ step ssh inspect emergency-cert.pub

เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจฎเฉ‡เจฐเจพ เจฆเจฟเจ–เจฆเจพ เจนเฉˆ:

emergency-cert.pub
        Type: [email protected] user certificate
        Public key: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
        Signing CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
        Key ID: "test-key"
        Serial: 0
        Valid: from 2020-06-24T16:53:03 to 2020-06-24T17:03:03
        Principals:
                ubuntu
        Critical Options: (none)
        Extensions:
                permit-X11-forwarding
                permit-agent-forwarding
                permit-port-forwarding
                permit-pty
                permit-user-rc

เจ‡เฉฑเจฅเฉ‡ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจ‰เจน เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจ•เฉเฉฐเจœเฉ€ เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจฌเจฃเจพเจˆ เจนเฉˆ, เจ…เจคเฉ‡ sk-user-ca เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจฃ เจ…เจฅเจพเจฐเจŸเฉ€ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเฉˆเฅค

เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ SSH เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเจพเจ‚:


$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$

  1. เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจ‡เฉฑเจ• เจนเฉ‹เจธเจŸ 'เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจฅเจพเจฐเจŸเฉ€ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  2. เจคเฉเจธเฉ€เจ‚ เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจจเฉ‚เฉฐ เจนเจŸเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจคเฉเจธเฉ€เจ‚ sk-user-ca เจจเฉ‚เฉฐ เจฌเจšเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ 'เจคเฉ‡ เจตเฉ€ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฎเฉ‚เจฒ PEM เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจตเฉ€ เจนเจŸเจพเจ‰เจฃเจพ เจšเจพเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ ubuntu เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ ~/.ssh/authorized_keys เจตเจฟเฉฑเจš) เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเฉฐเจ•เจŸเจ•เจพเจฒเฉ€เจจ เจชเจนเฉเฉฐเจš เจฒเจˆ เจตเจฐเจคเจฟเจ† เจนเฉˆเฅค

เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš: เจเจ•เจธเจผเจจ เจชเจฒเจพเจจ

เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจšเจฟเจชเจ•เจพเจ“ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“:

$ ssh-add -K

เจ‡เจน เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจฅเจพเจฐเจŸเฉ€ เจฆเฉ€ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจ…เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€ เจตเจฐเจฃเจจเจ•เจฐเจคเจพ เจจเฉ‚เฉฐ SSH เจเจœเฉฐเจŸ เจตเจฟเฉฑเจš เจœเฉ‹เฉœ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจนเฉเจฃ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฐเจฏเจพเจค เจ•เจฐเฉ‹:

$ ssh-add -L | tail -1 > sk-user-ca.pub

เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจฎเจฟเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฌเจฃเจพเจ“, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ˜เฉฐเจŸเฉ‡ เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚:

$ ssh-keygen -t ecdsa -f emergency
$ ssh-keygen -Us sk-user-ca.pub -I test-key -n [username] -V -5m:+60m emergency
$ chmod 600 emergency-cert.pub

เจ…เจคเฉ‡ เจนเฉเจฃ เจฆเฉเจฌเจพเจฐเจพ SSH:

$ ssh -i emergency username@host

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€ .ssh/config เจซเจพเจˆเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ•เฉเจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจชเฉˆเจฆเจพ เจ•เจฐ เจฐเจนเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจจ เจฒเจˆ -F none เจตเจฟเจ•เจฒเจช เจจเจพเจฒ ssh เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจธเจนเจฟเจ•เจฐเจฎเฉ€ เจจเฉ‚เฉฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจญเฉ‡เจœเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจธเจญ เจคเฉ‹เจ‚ เจ†เจธเจพเจจ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจตเจฟเจ•เจฒเจช เจนเฉˆ เจฎเฉˆเจœเจฟเจ• เจตเจฐเจฎเจนเฉ‹เจฒ. เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจฆเฉ‹ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ - เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจธเฉฐเจ•เจŸเจ•เจพเจฒเฉ€เจจ เจ…เจคเฉ‡ เจธเฉฐเจ•เจŸเจ•เจพเจฒเฉ€เจจ-cert.pub.

เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจธ เจชเจนเฉเฉฐเจš เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจชเจธเฉฐเจฆ เจนเฉˆ เจ‰เจน เจนเฉˆ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจธเจฎเจฐเจฅเจจ. เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ€เจ†เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉ‡เจซเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจคเฉ‡ เจตเฉ€ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจ—เฉ€เจ†เจ‚เฅค

เจ‡เฉฑเจ• เจ‡เจธเจผเจคเจฟเจนเจพเจฐ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡

เจเจชเจฟเจ• เจธเจฐเจตเจฐ เจนเฉˆ เจธเจธเจคเฉ‡ VPS AMD, CPU เจ•เฉ‹เจฐ เจซเฉเจฐเฉ€เจ•เฉเจเจ‚เจธเฉ€ 3.4 GHz เจคเฉฑเจ• เจธเจผเจ•เจคเฉ€เจธเจผเจพเจฒเฉ€ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒเฅค เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเฉฐเจฐเจšเจจเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเจ—เจญเจ— เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ - 128 CPU เจ•เฉ‹เจฐ, 512 GB RAM, 4000 GB NVMe. เจธเจพเจกเฉ‡ เจจเจพเจฒ เจธเจผเจพเจฎเจฒ!

เจ…เจธเฉ€เจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ SSH เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉฑเจ• เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจชเจนเฉเฉฐเจš เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹