ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΡΠΌΡ ΠΈ Ρ ΠΈΡΡΠΎΡΡΠΈ SSH
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ ΠΎΠ± ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ SSH, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠΉΡΠΈ ΠΈΠ· Π·Π°Π²ΠΈΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠ°ΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠΈΠ½ΡΠ΅Π½ΠΊΠΎ
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΡΠ΄Π΅Π»Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π Π΅ΠΊΡΠΎΡΡΒ»
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΎΠ± ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ SSH. ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ:
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ SSH ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ;
- Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«ΠΏΡΠΎΠ±ΡΠΎΡ ΠΊΠ»ΡΡΠ°Β» (agent forwarding);
- Π²ΡΠΉΡΠΈ ΠΈΠ· Π·Π°Π²ΠΈΡΡΠ΅ΠΉ SSH ΡΠ΅ΡΡΠΈΠΈ;
- ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΡΠ²Π΅ ΡΠ²ΡΠ·ΠΈ;
- ΡΠ°ΡΡΠ°ΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Ρ Π΄ΡΡΠ³ΠΎΠΌ (Π±Π΅Π· ZoomβΠ°!).
ΠΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² SSH
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΠΊΡΠΎΡ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² SSH:
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ OpenSSH ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ (ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ). Π ΡΠ΅Π²ΡΠ°Π»Π΅ 2020 Π³ΠΎΠ΄Π° Π² OpenSSH Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² FIDO U2F (Universal Second Factor). ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π΅ΡΡΡ Π½ΡΠ°Π½Ρ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΠΊΠ΅Π½ΠΎΠ², Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 8.2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ. Π’Π΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉssh -V, Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡnc [servername] 22.
Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄Π²Π° Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠ° ΠΊΠ»ΡΡΠ΅ΠΉ βecdsa-skΠΈed25519-sk(Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²). ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΡΠ°Π²ΡΡΠ΅ Π²Π°Ρ ΡΠΎΠΊΠ΅Π½ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ$ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡΠΈ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ Π²Π°ΡΠ΅ΠΌΡ U2F ΡΠΎΠΊΠ΅Π½Ρ. ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Π½Π° U2F ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»Π° Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅.
Π’Π°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². OpenSSH ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΈΠΏΠ°-sk-Β«ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΡΠ΅Β» ΠΊΠ»ΡΡΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π° U2F ΡΠΎΠΊΠ΅Π½Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ»ΡΡΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ΅Π³Π΄Π° Ρ Π²Π°Ρ Ρ ΡΠΎΠ±ΠΎΠΉ. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ$ ssh-keygen -t ecdsa-sk -O resident -f ~/.ssh/id_ecdsa_sk. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ» Π½Π° Π½ΠΎΠ²ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π½ΠΎΡΠΈΡΠ΅Π»Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ$ ssh-add -K. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ ΡΠΎΠΊΠ΅Π½ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ. - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ PIV+PKCS11 ΠΈ Yubikey. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΠΌΠ°ΡΠΈΠ½Π°ΠΌ, Π³Π΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ SSH-ΡΠ΅ΡΠ²Π΅ΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΠ΅Π½ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΡΠΎΠ΅ΠΊΡ Yubikey ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ U2F+SSH with PIV/PKCS11. ΠΡΠΎ Π½Π΅ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ FIDO U2F. ΠΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ssh-Π°Π³Π΅Π½Ρ
yubikey-agent. Filippo Valsorda ΡΠ΄Π΅Π»Π°Π» SSH-Π°Π³Π΅Π½ΡΠ° Π΄Π»Ρ Yubikeys. ΠΠ½ ΡΠΎΠ²ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΈ ΠΏΠΎΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ. - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Touch ID ΠΈ
sekey. Sekey β ΡΡΠΎ SSH-Π°Π³Π΅Π½Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π·Π°ΠΊΡΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ secure enclave Π΄Π»Ρ MacOS ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Touch ID. - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Single Sign On SSH. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Single Sign On SSH Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±ΡΠΎΡΠ° ΠΊΠ»ΡΡΠ° (agent forwarding)
ΠΡΠΎΠ±ΡΠΎΡ ΠΊΠ»ΡΡΠ° Π² SSH Π΄Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ Ρ
ΠΎΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ SSH-Π°Π³Π΅Π½ΡΡ. ΠΠΎΠ³Π΄Π° Π²Π°Ρ SSH-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ±ΡΠΎΡ ΠΊΠ»ΡΡΠ° (ΠΎΠ±ΡΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ ssh -A), Π² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ 2 ΠΊΠ°Π½Π°Π»Π° β Π²Π°ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅ΡΡΠΈΡ ΠΈ ΠΊΠ°Π½Π°Π» ΠΏΡΠΎΠ±ΡΠΎΡΠ° ΠΊΠ»ΡΡΠ°. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ SSH-Π°Π³Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ IPC-ΡΠΎΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ Ρ
ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡ ΠΊΠ°Π½Π°Π». ΠΡΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎ, Ρ.ΠΊ. ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΡΠΎΠ²Π½Ρ root Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ
ΠΎΡΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠ΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ SSH-Π°Π³Π΅Π½ΡΡ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΡΠ΅ΡΠΈ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Π‘ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ SSH-Π°Π³Π΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ OpenSSH, Π²Ρ Π½ΠΈ Π·Π° ΡΡΠΎ Π½Π΅ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ U2F ΠΊΠ»ΡΡ (ΠΈΠ»ΠΈ Sekey), Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠ΅ΠΊΠ°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ SSH-Π°Π³Π΅Π½ΡΠ°.
ΠΠ°ΠΆΠ΅ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±ΡΠΎΡΠ° ΠΊΠ»ΡΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ .
ΠΡΡ ΠΎΠ΄ ΠΈΠ· Π·Π°Π²ΠΈΡΡΠ΅ΠΉ SSH-ΡΠ΅ΡΡΠΈΠΈ
SSH-ΡΠ΅ΡΡΠΈΠΈ ΡΠ°ΡΡΠΎ Π·Π°Π²ΠΈΡΠ°ΡΡ ΠΈΠ·-Π·Π° ΡΠ°Π·ΡΡΠ²ΠΎΠ² ΡΠ΅ΡΠΈ, ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π²Π²ΠΎΠ΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠ°ΠΊ Π²ΡΠΉΡΠΈ ΠΈΠ· Π·Π°Π²ΠΈΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΡ
ΠΎΠ΄ ΠΏΡΠΈ ΡΠ°Π·ΡΡΠ²Π΅ ΡΠ΅ΡΠΈ. Π Π²Π°ΡΠ΅ΠΉ SSH-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
.ssh/configΠ½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ:ServerAliveInterval 5ServerAliveCountMax 1ssh Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ echo-Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Ρ ΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ ServerAliveInterval ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ServerAliveCountMax ΡΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΡΡΠ°Π½ΡΡΡΡ Π±Π΅Π· ΠΎΡΠ²Π΅ΡΠ°, ΡΠΎ SSH Π·Π°ΠΊΡΠΎΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. - Π Π°Π·ΠΎΡΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡ.
sshΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»~ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΎΠΌΠ°Π½Π΄Π°~.Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅).
ΠΠΎΠΌΠ°Π½Π΄Π°Β~?Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ~Π΄Π²Π°ΠΆΠ΄Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ».ΠΠΎΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΠΈ Π·Π°Π²ΠΈΡΠ°ΡΡ? ΠΠΎΠ³Π΄Π° Π±ΡΠ» ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π±ΡΠ»ΠΈ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ IPv4 WiFi ΡΠ΅ΡΡΠΌΠΈ, Π²Π°Ρ IP-Π°Π΄ΡΠ΅Ρ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ SSH Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ, Π° TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΡΠ΅ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ, ΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠΈ, Π²Π°ΡΠ΅ SSH-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠ΅ΡΡΡ. ΠΠΎΠ³Π΄Π° Π²Π°Ρ IP-Π°Π΄ΡΠ΅Ρ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ, ΡΡΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ. TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π±ΡΡΡΡΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠΎΡΠΎΠ½ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π΄Π°Π½Π½ΡΡ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ. Π Π²Π°ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΠ΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π·Π°Π²ΠΈΡΡΠ΅ΠΉ. IPv6 Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ²ΠΎΠΉ IP-Π°Π΄ΡΠ΅Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΠΌΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
ΠΠ°ΠΊ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΎΡΠΊΡΡΡΡΠΌ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ ΠΎΡΡΠ΅
ΠΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°, ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΡΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΠΌΠΈ ΠΈΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡΡΡ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Mosh ΠΈΠ»ΠΈ Eternal TerminalΠΡΠ»ΠΈ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΠ°Π΄Π°Π΅Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Mosh β mobile shell. Mosh β ΡΡΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ SSH Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΠΈ (handshake), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π». ΠΡΠΎΡ ΠΊΠ°Π½Π°Π» ΠΎΡΠ΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»Π΅Π½. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π·ΡΡΠ²Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ° Π²Π°ΡΠ΅Π³ΠΎ Π½ΠΎΡΡΠ±ΡΠΊΠ°, Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΠΈ, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΌΠ°Π³ΠΈΠΈ UDP ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Mosh.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Mosh Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΊ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 60000β61000 Π΄Π»Ρ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ UDP ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ ΠΎΡΡΠ΅. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±Π΅ΡΠΈΡΠ΅mosh user@serverΠ΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Mosh ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΊΡΠ°Π½ΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ, ΠΈ ΡΡΠΎ Π΄Π°Π΅Ρ Π΅ΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SSH, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ°Π½ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ, ΡΠΎ ΠΏΡΠ΅ΡΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅. SSH ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Π° Mosh Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ tmux. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π·Π΄ΡΠΌΠ°Π΅ΡΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΡΠ΅ΡΡΠΈΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ
ΠΎΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° tmux.Β ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ SSH-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΠ²Π°Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅
tmux attach, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠ΅ΡΡΠΈΡtmux. Π Π½Π΅ΠΌ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ β Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Ρ ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ macOS ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΠ°ΡΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΡΡΠ°ΡΡ tmux Ρ ΠΏΠΎΠΌΠΎΡΡΡ Byobu βΒ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ. Byobu ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Ubuntu ΠΈ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° macOS ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Homebrew.
ΠΠ°ΠΊ ΡΠ°ΡΡΠ°ΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Ρ Π΄ΡΡΠ³ΠΎΠΌ
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ°Π΅ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠ°ΡΡΠ°ΡΠΈΡΡ SSH-ΡΠ΅ΡΡΠΈΡ Ρ ΠΊΠ΅ΠΌ-ΡΠΎ Π΅ΡΠ΅, ΠΊΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. tmux β ΡΡΠΎ Π»ΡΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΠΈΠ½Π³Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠ°ΠΊ, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ
tmuxΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² DMZ (ΠΈΠ»ΠΈ ΠΊΡΠ΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ). - ΠΠ°ΠΌ ΠΎΠ±ΠΎΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π· SSH, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
- ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡΡΡΠΈΡΡ
tmux, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π»Π°ΡΡtmux-ΡΠ΅ΡΡΠΈΡ. - ΠΡΡΠ³ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
tmux attach. - ΠΡΠ°Π»Ρ! ΠΡ ΡΠ°ΡΡΠ°ΡΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ½ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΡΠ»ΡΡΠΈ-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΠ΅ΡΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ tmate, ΡΡΠΎ ΡΠΎΡΠΊ tmux, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΡΡΠ°ΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅.