αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆ LinOTP

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆ LinOTP

αžαŸ’αž„αŸƒαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž–αžΈαžšαž”αŸ€αž”αžαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆ αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαž”αžŽαŸ’αžαžΆαž‰αžŸαžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜ αž‚αŸαž αž‘αŸ†αž–αŸαžš αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ ssh αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αžŸαŸ†αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– LinOTP + FreeRadius αŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆ?
αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸαž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰αžšαž”αžŸαŸ‹αžαŸ’αž›αž½αž“ αžŠαŸ„αž™αž―αž€αžšαžΆαž‡αŸ’αž™αž–αžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαŸ”

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž“αŸαŸ‡αž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž˜αžΎαž›αžƒαžΎαž‰αž…αŸ’αž”αžΆαžŸαŸ‹ αž˜αž·αž“αžŠαžΌαž…αž•αž›αž·αžαž•αž›αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αŸ αž αžΎαž™αž€αŸαž‚αžΆαŸ†αž‘αŸ’αžšαž˜αž»αžαž„αžΆαžš αž“αž·αž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αž•αž„αžŠαŸ‚αžš (αž§αž‘αžΆαž αžšαžŽαŸ αž…αžΌαž›+αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹+(PIN+OTPToken))αŸ” αžαžΆαž˜αžšαž™αŸˆ API αžœαžΆαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž•αŸ’αž‰αžΎαžŸαžΆαžš (LinOTP Config->Provider Config->SMS Provider) αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžŠαžΌαž…αž‡αžΆ Google Authentificator αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‡αžΆαž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αŸ” αž’αžαŸ’αžαž”αž‘.

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸαŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αž‡αžΆαž˜αž½αž™ Cisco ASA αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ OpenVPN Apache2 αž“αž·αž„αž‡αžΆαž‘αžΌαž‘αŸ…αž‡αžΆαž˜αž½αž™αž’αŸ’αžœαžΈαŸ—αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžαžΆαž˜αžšαž™αŸˆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ RADIUS (αž§αž‘αžΆαž αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ SSH αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™)αŸ”

αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαŸ–

1) Debian 8 (jessie) - αž…αžΆαŸ†αž”αžΆαž…αŸ‹! (αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ…αž›αžΎ debian 9 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž’αžαŸ’αžαž”αž‘)

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ–

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ Debian 8 αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αžƒαŸ’αž›αžΆαŸ†αž„ LinOTPαŸ–

# echo 'deb http://www.linotp.org/apt/debian jessie linotp' > /etc/apt/sources.list.d/linotp.list

αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ„αŸ–

# gpg --search-keys 913DFF12F86258E5

αž–αŸαž›αžαŸ’αž›αŸ‡αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αž‘αžΎαž„ "αžŸαŸ’αž’αžΆαž" αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž“αŸαŸ‡ Debian αž”αž„αŸ’αž αžΆαž‰αŸ–

gpg: создан ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ `/root/.gnupg'
gpg: создан Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» настроСк `/root/.gnupg/gpg.conf'
gpg: Π’ΠΠ˜ΠœΠΠΠ˜Π•: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² `/root/.gnupg/gpg.conf' Π΅Ρ‰Π΅ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ ΠΏΡ€ΠΈ этом запускС
gpg: создана Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ `/root/.gnupg/secring.gpg'
gpg: создана Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ `/root/.gnupg/pubring.gpg'
gpg: Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹ сСрвСры ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ --keyserver)
gpg: сбой ΠΏΡ€ΠΈ поискС Π½Π° сСрвСрС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: ΠΏΠ»ΠΎΡ…ΠΎΠΉ URI

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ gnupg αžŠαŸ†αž”αžΌαž„αŸ” αž˜αž·αž“β€‹αž’αžΈβ€‹αž‘αŸαŸ” αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž˜αŸ’αžαž„αž‘αŸ€αžαŸ”
αž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαž½αžšαžšαž”αžŸαŸ‹αžŠαŸαž”αŸ€αž“αŸ–

gpg: поиск "913DFF12F86258E5" Π½Π° hkp сСрвСрС keys.gnupg.net
(1)	LSE LinOTP2 Packaging <[email protected]>
	  2048 bit RSA key F86258E5, создан: 2010-05-10
Keys 1-1 of 1 for "913DFF12F86258E5".  Π’Π²Π΅Π΄ΠΈΡ‚Π΅ числа, N) Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ»ΠΈ Q) Π’Ρ‹Ρ…ΠΎΠ΄>

αž™αžΎαž„αž†αŸ’αž›αžΎαž™αŸ– ៑

αž”αž“αŸ’αž‘αžΆαž”αŸ‹:

# gpg --export 913DFF12F86258E5 | apt-key add -

# apt-get update

αžŠαŸ†αž‘αžΎαž„ mysql αŸ” αžαžΆαž˜αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ sql αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΎαžœαžΆαžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ LinOTP αŸ”

(αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ LinOTP αž‘αžΎαž„αžœαž·αž‰αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹. αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž•αž„αžŠαŸ‚αžšαŸ– dpkg-reconfigure linotp αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ mysql αžšαž½αž…αž αžΎαž™)αŸ”

# apt-get install mysql-server

# apt-get update

(αžœαžΆαž˜αž·αž“αžˆαžΊαž…αžΆαž”αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž˜αŸ’αžαž„αž‘αŸ€αžαž‘αŸ)
αžŠαŸ†αž‘αžΎαž„ LinOTP αž“αž·αž„αž˜αŸ‰αžΌαžŒαž»αž›αž”αž“αŸ’αžαŸ‚αž˜αŸ–

# apt-get install linotp

αž™αžΎαž„αž†αŸ’αž›αžΎαž™αžŸαŸ†αžŽαž½αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αŸ–
αž”αŸ’αžšαžΎ Apache2: αž”αžΆαž‘
αž”αž„αŸ’αž€αžΎαžαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Linotp: "αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€"
αž”αž„αŸ’αž€αžΎαžαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŠαŸ‚αž›αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„?αŸ– αž”αžΆαž‘
αž”αŸ’αžšαžΎ MySQL?: αž”αžΆαž‘
αžαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž―αžŽαžΆαŸ– localhost
αž”αž„αŸ’αž€αžΎαžαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ LinOTP (αžˆαŸ’αž˜αŸ„αŸ‡αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“) αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ– LinOTP2
αž”αž„αŸ’αž€αžΎαžαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– LinOTP2
αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ– "αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€"
αžαžΎαžαŸ’αž‰αž»αŸ†αž‚αž½αžšαž”αž„αŸ’αž€αžΎαžαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‘αŸ? (αž’αŸ’αžœαžΈαž˜αž½αž™αžŠαžΌαž…αž‡αžΆ "αžαžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αžΆαž“ ... "): αž”αžΆαž‘
αž”αž‰αŸ’αž…αžΌαž›αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ MySQL root αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αžœαžΆαŸ– β€œYourPassword”
αž’αŸ’αžœαžΎαŸ”

(αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαŸ†αž‘αžΎαž„αžœαžΆαž‘αŸ)

# apt-get install linotp-adminclient-cli 

(αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαŸ†αž‘αžΎαž„αžœαžΆαž‘αŸ)

# apt-get install libpam-linotp  

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžŠαžΆαž‰ Linotp αžšαž”αžŸαŸ‹αž™αžΎαž„αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αžΆαž“αž“αŸ…αŸ–

"<b>https</b>: //IP_сСрвСра/manage"

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαž”αž“αŸ’αžαž·αž…αž€αŸ’αžšαŸ„αž™αž˜αž€αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αž! αž™αžΎαž„αž›αžΎαž€ FreeRadius αž αžΎαž™αž—αŸ’αž‡αžΆαž”αŸ‹αžœαžΆαž‡αžΆαž˜αž½αž™ Linotp αŸ”

αžŠαŸ†αž‘αžΎαž„ FreeRadius αž“αž·αž„αž˜αŸ‰αžΌαžŒαž»αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ LinOTP

# apt-get install freeradius linotp-freeradius-perl

αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž’αžαž·αžαž·αž‡αž“ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαŸ†αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

# mv /etc/freeradius/clients.conf  /etc/freeradius/clients.old

# mv /etc/freeradius/users  /etc/freeradius/users.old

αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž’αžαž·αžαž·αž‡αž“αž‘αž‘αŸαŸ–

# touch /etc/freeradius/clients.conf

αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ (αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ)

# nano /etc/freeradius/clients.conf

client 192.168.188.0/24 {
secret  = passwd # ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²
}

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ–

# touch /etc/freeradius/users

αž™αžΎαž„αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž―αž€αžŸαžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΆαž”αŸ‹αž€αžΆαŸ†αžαžΆαž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎ perl αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αŸ”

# nano /etc/freeradius/users

DEFAULT Auth-type := perl

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž―αž€αžŸαžΆαžš /etc/freeradius/modules/perl

# nano /etc/freeradius/modules/perl

αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž•αŸ’αž›αžΌαžœαž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸ’αž‚αŸ’αžšαžΈαž” perl linotp αž€αŸ’αž“αž»αž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αŸ‰αžΌαžŒαž»αž›αŸ–

Perl { .......
.........
<source lang="bash">module = /usr/lib/linotp/radius_linotp.pm

... ..
αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž™αžΎαž„αž“αž·αž™αžΆαž™αžαžΆαž˜αž½αž™αžŽαžΆ (αžŠαŸ‚αž“ αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž¬αž―αž€αžŸαžΆαžš) αžŠαžΎαž˜αŸ’αž”αžΈαž™αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαŸ”

# touch /etc/linotp2/rlm_perl.ini

# nano /etc/linotp2/rlm_perl.ini

URL=https://IP_вашСго_LinOTP_сСрвСра(192.168.X.X)/validate/simplecheck
REALM=webusers1c
RESCONF=LocalUser
Debug=True
SSL_CHECK=False

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžŸαŸ†αžαžΆαž“αŸ‹αŸ–

αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž–αŸαž‰αž›αŸαž‰αž“αŸƒαž―αž€αžŸαžΆαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αŸ–
#IP αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ linOTP (αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ LinOTP αžšαž”αžŸαŸ‹αž™αžΎαž„)
URL=https://172.17.14.103/validate/simplecheck
# αžαŸ†αž”αž“αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžαžΆαž‰ LinOTP αŸ” )
REALM=rearm1
#αžˆαŸ’αž˜αŸ„αŸ‡αž€αŸ’αžšαž»αž˜αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰ LinOTP αŸ”
RESCONF=flat_file
#αž‡αž˜αŸ’αžšαžΎαžŸαŸ– αž”αž‰αŸ’αž…αŸαž‰αž˜αžαž· αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αžœαžΈαŸ—αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’αŸ”
αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ=αž–αž·αž
#αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αžαŸ– αž”αŸ’αžšαžΎαžœαžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŠαŸ‚αž›αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αž”αž‰αŸ’αž…αŸαž‰αž˜αžαž· (SSL αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž αžΎαž™αž…αž„αŸ‹αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžœαžΆ)
SSL_CHECK=αž˜αž·αž“αž–αž·αž

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžš /etc/freeradius/sites-available/linotp

# touch /etc/freeradius/sites-available/linotp

# nano /etc/freeradius/sites-available/linotp

αž αžΎαž™αž…αž˜αŸ’αž›αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžΆ (αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž’αŸ’αžœαžΈαž‘αŸ)αŸ–

authorize {
#normalizes maleformed client request before handed on to other modules (see '/etc/freeradius/modules/preprocess')
preprocess
#  If you are using multiple kinds of realms, you probably
#  want to set "ignore_null = yes" for all of them.
#  Otherwise, when the first style of realm doesn't match,
#  the other styles won't be checked.
#allows a list of realm (see '/etc/freeradius/modules/realm')
IPASS
#understands something like USER@REALM and can tell the components apart (see '/etc/freeradius/modules/realm')
suffix
#understands USERREALM and can tell the components apart (see '/etc/freeradius/modules/realm')
ntdomain
#  Read the 'users' file to learn about special configuration which should be applied for
# certain users (see '/etc/freeradius/modules/files')
files
# allows to let authentification to expire (see '/etc/freeradius/modules/expiration')
expiration
# allows to define valid service-times (see '/etc/freeradius/modules/logintime')
logintime
# We got no radius_shortname_map!
pap
}
#here the linotp perl module is called for further processing
authenticate {
perl
}

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαžαŸ†αžŽαžŸαŸŠαžΈαž˜αž˜αž½αž™αŸ–

# ln -s ../sites-available/linotp /etc/freeradius/sites-enabled

αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αžαŸ’αž‰αž»αŸ†αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžš Radius αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆ αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž¬αž”αž·αž‘αž–αž½αž€αžœαžΆαž”αžΆαž“αŸ”

# rm /etc/freeradius/sites-enabled/default

# rm /etc/freeradius/sites-enabled/inner-tunnel

# service freeradius reload

αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹αž™αžΎαž„β€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αž‘αŸ…β€‹αž‘αŸ†αž–αŸαžšβ€‹αž”αžŽαŸ’αžŠαžΆαž‰β€‹αžœαž·αž‰ αž αžΎαž™β€‹αž˜αžΎαž›β€‹αžœαžΆβ€‹αž±αŸ’αž™β€‹αž›αž˜αŸ’αž’αž·αžβ€‹αž”αž“αŸ’αžαž·αž…β€‹αž‘αŸ€αžαŸ–
αž“αŸ…αž‡αŸ’αžšαž»αž„αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αžαžΆαž„αž›αžΎαž…αž»αž…αž›αžΎ LinOTP Config -> UserIdResolvers -> New
αž™αžΎαž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αž”αžΆαž“αŸ– LDAP (AD win, LDAP samba) ឬ SQL αž¬αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’ Flatfile αŸ”

αž”αŸ†αž–αŸαž‰αž€αŸ’αž“αž»αž„αžœαžΆαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž™αžΎαž„αž”αž„αŸ’αž€αžΎαž REALMSαŸ–
αž“αŸ…αž‡αŸ’αžšαž»αž„αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αžαžΆαž„αž›αžΎ αž…αž»αž… LinOTP Config -> Realms -> New αŸ”
αž αžΎαž™αžŠαžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž‘αŸ… REALMS αžšαž”αžŸαŸ‹αž™αžΎαž„ αž αžΎαž™αž…αž»αž…αž›αžΎ UserIdResolvers αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž–αžΈαž˜αž»αž“αŸ”

FreeRadius αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš /etc/linotp2/rlm_perl.ini αžŠαžΌαž…αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαžšαžŸαŸαžšαžαžΆαž„αž›αžΎ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžœαžΆαž‘αŸ αžŸαžΌαž˜αž’αŸ’αžœαžΎαžœαžΆαž₯αž‘αžΌαžœαž“αŸαŸ‡αŸ”

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αŸ–

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ LinOTP αž“αŸ…αž›αžΎ Debian 9:

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„:

# echo 'deb http://linotp.org/apt/debian stretch linotp' > /etc/apt/sources.list.d/linotp.list 
# apt-get install dirmngr

# apt-key adv --recv-keys 913DFF12F86258E5
# apt-get update

# apt-get install mysql-server

(αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž“αŸ…αž€αŸ’αž“αž»αž„ Debian 9 mysql (mariaDB) αž˜αž·αž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ root αž‘αŸ αž–αž·αžαžŽαžΆαžŸαŸ‹αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž»αž€αžœαžΆαž±αŸ’αž™αž“αŸ…αž‘αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“ αž“αŸαŸ‡αž…αŸ’αžšαžΎαž“αžαŸ‚αž“αžΆαŸ†αž±αŸ’αž™ "αž”αžšαžΆαž‡αŸαž™" αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžœαžΆ αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™)

# mysql -u root -p
use mysql;
UPDATE user SET Password = PASSWORD('Ρ‚ΡƒΡ‚_ΠΏΠ°Ρ€ΠΎΠ»ΡŒ') WHERE User = 'root';
exit
# apt-get install linotp
# apt-get install linotp-adminclient-cli
# apt-get install python-ldap
# apt install freeradius
# nano /etc/freeradius/3.0/sites-enabled/linotp

αž”αž·αž‘αž—αŸ’αž‡αžΆαž”αŸ‹αž›αŸαžαž€αžΌαžŠ (αž•αŸ’αž‰αžΎαžŠαŸ„αž™ JuriM αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹αž‚αžΆαžαŸ‹!)αŸ–

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ linotp {
αžŸαŸ’αžαžΆαž”αŸ‹ {
ipaddr = *
αž…αŸ’αžšαž€ = 1812
type=auth
}
αžŸαŸ’αžαžΆαž”αŸ‹ {
ipaddr = *
αž…αŸ’αžšαž€ = 1813
type=acct
}
αž’αž“αž»αž‰αŸ’αž‰αžΆαž {
αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž»αž“αŸ”
αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– {
&control:Auth-Type:= Perl
}
}
αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹ {
αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž”αŸ’αžšαž—αŸαž‘ Perl {
perl
}
}
αž‚αžŽαž“αŸαž™αŸ’αž™ {
αž™αžΌαž“αžΈαž€
}
}

αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž› /etc/freeradius/3.0/mods-enabled/perl

perl {
αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžš = /usr/share/linotp/radius_linotp.pm
func_authenticate = αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ
func_authorize = αž’αž“αž»αž‰αŸ’αž‰αžΆαž
}

αž‡αžΆαž’αž€αž»αžŸαž› αž“αŸ…αž€αŸ’αž“αž»αž„ Debian 9 αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ radius_linotp.pm αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž™αž€αžœαžΆαž–αžΈ github αŸ”

# apt install git
# git clone https://github.com/LinOTP/linotp-auth-freeradius-perl
# cd linotp-auth-freeradius-perl/
# cp radius_linotp.pm /usr/share/linotp/radius_linotp.pm

αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαžΌαž˜αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž› /etc/freeradius/3.0/clients.conf

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž˜αŸ’αžšαžΎαž’αžαž·αžαž·αž‡αž“ {
ipaddr = 192.168.188.0/24
secret = αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”
}

αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαžΌαž˜αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœ nano /etc/linotp2/rlm_perl.ini

αž™αžΎαž„αž”αž·αž‘αž—αŸ’αž‡αžΆαž”αŸ‹αž€αžΌαžŠαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αžŠαžΌαž…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎ debian 8 (αž–αž·αž–αžŽαŸŒαž“αžΆαžαžΆαž„αž›αžΎ)

αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž™αŸ„αž„αž‘αŸ…αžαžΆαž˜αž‚αŸ†αž“αž·αžαŸ” (αž˜αž·αž“αž‘αžΆαž“αŸ‹αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„)

αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž‘αž»αž€β€‹αžαŸ†αžŽβ€‹αžαžΆαž„αž€αŸ’αžšαŸ„αž˜β€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αžšαŸ€αž”αž…αŸ†β€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’β€‹αžŠαŸ‚αž›β€‹αž—αžΆαž‚αž…αŸ’αžšαžΎαž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšαž–αžΆαžšβ€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹β€‹αž€αžαŸ’αžαžΆβ€‹αž–αžΈαžšαŸ–
αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Apache2

αžŠαŸ†αž‘αžΎαž„αž‡αžΆαž˜αž½αž™ Cisco ASA(αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‡αŸ†αž“αžΆαž“αŸ‹αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹ ASA αžαŸ’αž›αž½αž“αžœαžΆαžŠαžΌαž…αž‚αŸ’αž“αžΆ)αŸ”

VPN αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆ

αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœ αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž€αžαŸ’αžαžΆαž–αžΈαžšαž“αŸ…αž€αŸ’αž“αž»αž„ ssh (LinOTP αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ’αžšαžΎαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž•αž„αžŠαŸ‚αžš) - αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αŸ” αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αžšαž€αžƒαžΎαž‰αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž’αŸ†αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™ LiOTP αž•αž„αžŠαŸ‚αžšαŸ”

αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžš cms αž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ WordPress, LinOTP αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž˜αžΆαž“αž˜αŸ‰αžΌαžŒαž»αž›αž–αž·αžŸαŸαžŸαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitHubαž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αž„αŸ’αž€αžΎαžαž•αŸ’αž“αŸ‚αž€αž€αžΆαžšαž–αžΆαžšαž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαžŸαžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž»αž‚αŸ’αž‚αž›αž·αž€αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αŸ”
αž€αžΆαžšαž–αž·αžαžŸαŸ†αžαžΆαž“αŸ‹! αž€αž»αŸ†αž’αžΈαž€αž”αŸ’αžšαž’αž”αŸ‹ β€œGoogle autenteficator” αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎ Google Authenticator! αž›αŸαžαž€αžΌαžŠ QR αž˜αž·αž“αž’αžΆαž…αž’αžΆαž“αž”αžΆαž“αž‘αŸ... (αž€αžΆαžšαž–αž·αžαž…αž˜αŸ’αž›αŸ‚αž€)

αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž–αŸαžαŸŒαž˜αžΆαž“αž–αžΈαž’αžαŸ’αžαž”αž‘αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαŸ–
itnan.ru/post.php?c=1&p=270571
www.digitalbears.net/?p=469

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹