Β«ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Β» SSH β ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½Π° Π²ΡΡΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠ²Π΅, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ Π½Π° ΠΏΠΎΡΡ 22 (ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΠΌΠ΅Π½ΠΈΡΠ΅). SSH-ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΈ SSH-ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΡΡΠ΅ Π² SSH ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΊΠΈ Π΄ΡΡΠ³ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΎΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Π½Π° Π΄ΡΡΠ³ ΠΊΠΎΠΌΠΏΡΡΡΡ, Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅ Π·Π²ΡΠΊΠΎΠ²ΠΈ ΠΏΠΎΡΠΎΡΠΈ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈΡ ΠΊΠ°Π½Π°Π» ΠΈ Ρ.Π½. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΡΠ΅ Ρ Π΄ΡΡΠ³ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Ρ ΠΎΡΡ.
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Π°, Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ SSH-ΠΊΠ»ΡΡΠΎΠ²Π΅. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΈΡΡ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΊΡΠ°Π΄Π½Π°Ρ. ΠΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠΎΠ»Π° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎ Π·Π°ΡΠΈΡΠ°Π²Π° ΠΎΡ ΠΊΡΠ°ΠΆΠ±Π° Π½Π° ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ»ΡΡ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΡΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ ΠΈ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ . ΠΠ²ΡΡΠ°ΠΊΡΠΎΡΠ½Π°ΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ°Π²Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°ΠΊ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π΄Π²ΡΡΠ°ΠΊΡΠΎΡΠ½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Honeycomb Π½Π°ΡΠΊΠΎΡΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° , ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΡΠ²ΡΡΠ°.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π΅Π½ Ρ ΠΎΡΡ, ΠΎΡΠ²ΠΎΡΠ΅Π½ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ (Π±Π°ΡΡΠΈΠΎΠ½). ΠΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ ΡΠΎΠ·ΠΈ Ρ ΠΎΡΡ ΠΎΡ Π»Π°ΠΏΡΠΎΠΏΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ ΠΏΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π·Π°Π΄ Π½Π΅Π³ΠΎ. 2FA Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½ΠΈΠΊΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΡΡΠΎΡΠΎ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π°ΡΠΈΡ Π»Π°ΠΏΡΠΎΠΏ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΠΊΠΈ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ.
ΠΡΡΠ²ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ β OTP
OTP β Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΈ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° SSH-Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΊΠ»ΡΡΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Ρ, ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΈΠ΄Π΅Π°Π»Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ, Π·Π°ΡΠΎΡΠΎ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΡΠ°Π»ΡΠΈΠ² Π±Π°ΡΡΠΈΠΎΠ½, Π΄Π° ΠΏΡΠΈΡ Π²Π°Π½Π΅ Π²Π°ΡΠΈΡ OTP ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. ΠΠΎ ΡΠΎΠ²Π° Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΎΡ Π½ΠΈΡΠΎ.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΡΠ²ΡΡΠ½Π°ΡΠ° ΡΡΡΠ°Π½Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Chef ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅:
metadata.rbattributes/default.rb(ΠΎΡattributes.rb)files/sshdrecipes/default.rb(ΠΊΠΎΠΏΠΈΠ΅ ΠΎΡrecipe.rb)templates/default/users.oath.erb
ΠΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° ΡΡΡΠ°Π½Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π²ΡΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° OTP: Google Authenticator, Authy, Duo, Lastpass, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠ΅ brew install oath-toolkit ΠΈΠ»ΠΈ apt install oathtool openssl, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½Π° Π½ΠΈΠ· ΠΎΡ base16 (ΠΊΠ»ΡΡ). Π’Ρ ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ° Π² ΡΠΎΡΠΌΠ°Ρ Base32, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡΠ΅ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ, ΠΈ ΡΠ΅ Π²Π½Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π ΠΊΡΠ°Ρ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ Π±Π°ΡΡΠΈΠΎΠ½ ΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΡΠ΅Π³Π° ΡΠΎΠΉ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠ°ΡΠΎΠ»Π½Π° ΡΡΠ°Π·Π°, Π½ΠΎ ΠΈ OTP ΠΊΠΎΠ΄ Π·Π° Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ:
β ssh -A bastion
ΠΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π·Π° ΠΊΠ»ΡΡΠ° '[snip]':
ΠΠ°ΡΠΎΠ»Π°ΡΠ° Π·Π° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° (OATH) Π·Π° '[user]':
ΠΠΎΠ±ΡΠ΅ Π΄ΠΎΡΠ»ΠΈ Π² Ubuntu 18.04.1 LTS...ΠΡΠΎΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ β Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π° OTP ΠΊΠΎΠ΄Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΎΡΠΈΡΡ ΡΠ°ΠΊΡΠΎΡ ΡΡΠ°Π²Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π±ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ.
Π’ΡΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Chef Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°, Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΠ‘. ΠΠΎ ΡΠ»Π΅Π΄ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π½Π° MacOS ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΡΠ²ΡΡΠ΄ΡΡ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π² SSH ΡΡΠ΅Π· ΠΏΠ°ΡΠΎΠ»Π½Π° ΡΡΠ°Π·Π° ΠΈ Π΄ΠΎΠΊΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΡΡΡΠ° Π΄ΠΎ ΡΠ΅Π½Π·ΠΎΡΠ° (Π²ΡΠΎΡΠΈ ΡΠ°ΠΊΡΠΎΡ).
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈΡΠ΅ Π½Π° iOS ΠΈ Android ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡ Π° Π²Ρ ΠΎΠ΄Π° . Π’ΠΎΠ²Π° Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΡ Krypt.co, ΠΊΠΎΡΡΠΎ Π΅ Π΄ΠΎΡΠΈ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΠΎΡ OTP.
ΠΠ° Linux/ChromeOS ΠΈΠΌΠ° Π²Π°ΡΠΈΠ°Π½Ρ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ USB ΡΠΎΠΊΠ΅Π½ΠΈ YubiKey. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΊΡΠ°Π΄Π½Π΅ Π²Π°ΡΠΈΡ ΡΠΎΠΊΠ΅Π½, Π½ΠΎ ΡΠΎΠΉ ΠΏΠ°ΠΊ Π½Π΅ Π·Π½Π°Π΅ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
