Teleport CLI
Π’Π΅Π»Π΅ΠΏΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ OS, Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΎ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ tar.gz ΡΠ°ΠΉΠ» ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ.
ΠΠ°ΠΆΠ½ΠΎ
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° teleport Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ΅ ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΎΠ²Π½ΠΎ ΡΡ ΠΆΠ΅. ΠΠ°ΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ API.
tsh
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ· CLI ΡΡΠΎ tsh
.
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² teleport
./tsh login --proxy=teleport.host --user=mylogin --skip-version-check --auth=local --ttl 5256000
ΠΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ -o <ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°>
ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ Π΄Π»Ρ Teleport. Golang.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ~/.tsh/
. ΠΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΉΠ» current-profile
ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ Π΅ΡΠ»ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ΅Π»Π΅ΠΏΠΎΡΡΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
env
./tsh env --proxy teleport.***:443
Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ proxy.
ls
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡ proxy Ρ ΠΎΡΡΠΎΠ².
β― ./tsh ls --proxy teleport.***.ru:443
Node Name Address Labels
------------------------------------------------------------- ---------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
klktest-ch-1.******.******.mts.ru β΅ Tunnel bios=c4b72c42-29c3-d71d-0a16-954d87a1a037,clickhouse-l3=true,hostname=klktest-ch-1,paas-l1=true,stand_slug=****-unix-inside-0300s2,type=dataops,unix-admin=true
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ:
./tsh ls --proxy teleport.***.ru:443 --query='labels["type"] == "dataops"'
ΠΠ½ΡΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ ΡΠΈΠ»ΡΡΡΠ° Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ==, !=, && ΠΈ ||.
ssh
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Ρ ΠΎΡΡΡ Π·Π° ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
./tsh ssh user@<some_host_from_tsh_ls>.ru
config
ΠΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΊΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³Π° ~/.ssh/config
ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΠ»ΠΈ ΡΡΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎ ΠΈΠ΄Π΅Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΡΠΏΠΎΠ»Π·ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΏΠΎΡΡ Ρ
ΠΎΡΡΠΎΠ² ΠΎΠ±ΡΡΠ½ΡΠΉ ssh
Π²ΠΌΠ΅ΡΡΠΎ ./tsh ssh
. ΠΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π·Π°Π²Π΅Π»ΠΎΡΡ. ΠΠΎΡ
ΠΎΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² DNS Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°.
Footnotes
-
auth=local
Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ. β©