Β«ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°Β» SSH β ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Ρ
ΠΎΡΡΠ°ΠΌΠΈ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΠΏΠΎ ΠΏΠΎΡΡΡ 22 (ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ). SSH-ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ SSH-ΡΠ΅ΡΠ²Π΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΠ‘. ΠΠ½ΡΡΡΠΈ SSH ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΎ Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Ρ.Π΄. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ,
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Ρ, Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ SSH-ΠΊΠ»ΡΡΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΊΡΠ°ΡΡΡ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠ°Π·Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΎΡ ΠΊΡΠ°ΠΆΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΈ ΡΠΎΡΠ²Π°ΡΠ΄ΠΈΠ½Π³Π΅ ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΎΠ½ΠΈ
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Honeycomb Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ Ρ ΠΎΡΡ, ΠΎΡΠΊΡΡΡΡΠΉ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ (Π±Π°ΡΡΠΈΠΎΠ½). ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ Ρ ΠΎΡΡΡ Ρ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π·Π° Π½ΠΈΠΌ. 2FA Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠ΅ΠΌΡ Π½ΠΎΡΡΠ±ΡΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΠ.
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β OTP
OTP β ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ SSH-Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠ»ΡΡΠΎΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΈΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π½ΡΡΡ ΡΠ°Π»ΡΡΠΈΠ²ΡΠΉ Π±Π°ΡΡΠΈΠΎΠ½, ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π²Π°Ρ OTP ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠΎ ΡΡΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ Chef ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
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
, ΠΏΠΎΡΠΎΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° base16 (ΠΊΠ»ΡΡ). ΠΠ½Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°Ρ Base32, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π ΠΈΡΠΎΠ³Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π±Π°ΡΡΠΈΠΎΠ½Ρ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠ°Π·Ρ, Π½ΠΎ ΠΈ ΠΊΠΎΠ΄ OTP Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
β ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²Π²ΠΎΠ΄ΠΈΡΡ OTP-ΠΊΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠΎΡΡΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π±ΠΈΠΎΠΌΠ΅ΡΡΠΈΡ.
Π’ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Chef Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΠ‘. ΠΠΎ Π·Π°ΡΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½Π° MacOS ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² SSH ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠ°Π·Π΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°Π»ΡΡΠ° ΠΊ ΡΠ΅Π½ΡΠΎΡΡ (Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΠΊΡΠΎΡ).
ΠΠ»Π°Π΄Π΅Π»ΡΡΡ iOS ΠΈ Android ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ Π²Ρ
ΠΎΠ΄
ΠΠ° Linux/ChromeOS Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°Π±ΠΎΡΡ Ρ USB-ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ YubiKey. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡ
ΠΈΡΠΈΡΡ Π²Π°Ρ ΡΠΎΠΊΠ΅Π½, Π½ΠΎ ΠΎΠ½ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠ°Π·Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com