Introduction

Teamshell documentation

Work is in progress

Sorry, we are working hard to add more docs here. In the meantime you may check out GUI and Node docs in left menu.

Introduction

Teamshell is team-oriented remote shell access management software stack with end-to-end encryption. It allows you to:

  • have a cloud syncronized list of connections(services). All team devices have same services (according to access rights)
  • connect directly to services using macros(example: psql -U someuser -h somehost somedatabase). Minimize time and eliminate errors.
  • connect and resume connection with all previous session data on any devices. Connection seamlessly works across network interrupts.
  • view whole session using player
  • view command list log
  • invite new team members and delete from workspace
  • give access to specific service and for limited time
  • get notifications of all shell activity in your team

System components

GUI client

Qt based open source client in tandem with local storage client written in Go. All-in-one solution, use it for:

  • signing up
  • signing in
  • workspace creation
  • members invite
  • nodes operations(creation/removal)
  • configuration of nodes services
  • creation of shell sessions and resuming them
  • chat with your team in session
  • playback of shell sessions
  • instant notifications

Node

Open source and written in Go node that executes sessions by launching commands specified in config.

You may have private IPs on remote servers. No public IP is required since node connection is outgoing and it doesn’t open any network ports.

Cloud server

Cloud based server acts as central point connecting nodes and client. It also saves all encrypted session data and makes it available to legitimate requests for playback. We have geo-distributed cluster of servers to provide stable and fail-free connections to your services. No plaintext data gets our server since both client and node encrypt everything prior to sending to server.