tpot
tpot copied to clipboard
tpot is a simple tool to access teleport web UI from terminal
Background
Tpot is a simple tsh teleport wrapper. Currently, we are not able to get list of available node in tsh. Usually, to get the
list of nodes we need to go through teleport web ui then creating an alias to accessible through tsh. This make you're able to
get list of nodes from Terminal, pick one then login to the node by tsh.
Feature

- Support multiple environment
- Browsing the node list and search it
- You're able to get the node list from a cache or fresh from the teleport server
How does it work
this tool simply store the proxy environment under your $HOME/.tpot/ directory.
whenever you try to get the node list it'll ask the teleport server to give the latest node list. Once, we got it, it'll store
in the configuration file for caching purpose.
Install
This tool requires tsh is installed in your machine.
if you don't have it yet, you can download & install from this.
Brew
brew tap adzimzf/tpot
brew install tpot
Curl or Wget
to install this tool you can run this command.
curl https://raw.githubusercontent.com/adzimzf/tpot/master/download.sh | sh
or
wget -O - https://raw.githubusercontent.com/adzimzf/tpot/master/download.sh | sh
It'll copy the binary to /usr/bin.
If you want to install into a specific directory you can add arguments -s -- -b "directory", for example:
curl https://raw.githubusercontent.com/adzimzf/tpot/master/download.sh | sh -s -- -b "/home/myuser/Desktop"
Build from source
If you are familiar with Golang/Go and your Golang version is go1.16 you can install using go install by running this command:
go get github.com/adzimzf/tpot
go install github.com/adzimzf/tpot
Usage
Before use this tools you need to add proxy configuration first by run this command
tpot -c --add
It'll prompt your config editor, by default it'll use nano
Environmentis an identifier for your proxy config, eg.stagingandprodProxy addressis a valid proxy address in http protocol, eg.https://teleport.myport.com:3080User nameia a user name used for teleport login. eg.adzimzfAuth Connectoria a 3rd party auth connector for SSO. eg.gsuiteNeed 2Fadoes the proxy need 2FA or not. egtrueorfalse
you can change the default editor by running this command
tpot -c --edit
or
tpot --config --edit
if the configuration installed successfully you can start use tpot by running this command
tpot staging
or
tpot staging -a
will get the node from the server then append to the cache, or
tpot staging -r
When the list of node shows, you can navigate by RIGHT, LEFT, UP and DOWN. For searching the node, you can type the node name then hit TAB.
Hit ENTER to select the node and login.
to get the node server instead of cache. if it gives you an error Permision denied, you can manually add tpot config dir by running this command
mkdir $HOME/.tpot
with 775 permission, then you can re-add the configuration
That's all hope you find your need