Enhance README with detailed usage and configuration examples
All checks were successful
Release Tag / release (push) Successful in 8s
All checks were successful
Release Tag / release (push) Successful in 8s
- Added a new section explaining how Teleport works, including a flow diagram. - Provided example configurations for both server and client in YAML format. - Clarified usage scenarios for connecting to remote services through the encrypted tunnel.
This commit is contained in:
63
README.md
63
README.md
@@ -2,6 +2,69 @@
|
||||
|
||||
Teleport is a secure port forwarding tool that allows you to forward ports between different instances with end-to-end encryption.
|
||||
|
||||
## How It Works
|
||||
|
||||
```
|
||||
┌─────────────────┐ Encrypted Tunnel ┌─────────────────┐
|
||||
│ Client A │◄────── Port 9000 ──────►│ Teleport │
|
||||
│ │ │ Server │
|
||||
│ │ │ │
|
||||
│ ┌───────────┐ │ │ ┌───────────┐ │
|
||||
│ │teleport │ │ │ │teleport │ │
|
||||
│ │client │ │ │ │server │ │
|
||||
│ └───────────┘ │ │ └───────────┘ │───────────┐
|
||||
└─────────────────┘ └─────────────────┘ │
|
||||
│ │ │
|
||||
│ Ports 8080,2222 │ Ports 80,22 │
|
||||
│ (local) │ (targets) │
|
||||
▼ ▼ ▼
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ User connects │ │ Remote │ │ Remote │
|
||||
│ to localhost: │ │ Web Server │ │ SSH Server │
|
||||
│ 8080, 2222 │ │ (192.168.1.100) │ │ (192.168.1.200) │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
|
||||
Flow: User → Client:8080,2222 → Encrypted Tunnel (Port 9000) → Server:80,22 → Remote Services
|
||||
```
|
||||
|
||||
**Note:** The different ports (8080/2222 vs 80/22) are shown for demonstration purposes only. Client and service ports can be identical - teleport will handle the port mapping transparently.
|
||||
|
||||
### Example Configuration
|
||||
|
||||
**Server Configuration** (`server.yaml`):
|
||||
```yaml
|
||||
instance_id: teleport-server-01
|
||||
listen_address: :9000
|
||||
remote_address: ""
|
||||
ports:
|
||||
- "tcp://192.168.1.100:80"
|
||||
- "tcp://192.168.1.200:22"
|
||||
encryption_key: your-secure-encryption-key-here
|
||||
keep_alive: true
|
||||
read_timeout: 30s
|
||||
write_timeout: 30s
|
||||
```
|
||||
|
||||
**Client Configuration** (`client.yaml`):
|
||||
```yaml
|
||||
instance_id: teleport-client-01
|
||||
listen_address: ""
|
||||
remote_address: server.example.com:9000
|
||||
ports:
|
||||
- "tcp://80:8080"
|
||||
- "tcp://22:2222"
|
||||
encryption_key: your-secure-encryption-key-here
|
||||
keep_alive: true
|
||||
read_timeout: 30s
|
||||
write_timeout: 30s
|
||||
```
|
||||
|
||||
**Usage**:
|
||||
- User connects to `localhost:8080` → Traffic flows through encrypted tunnel on port 9000 → Server forwards to remote web server at `192.168.1.100:80`
|
||||
- User connects to `localhost:2222` → Traffic flows through same encrypted tunnel on port 9000 → Server forwards to remote SSH server at `192.168.1.200:22`
|
||||
|
||||
Both services share the same encrypted tunnel connection!
|
||||
|
||||
## Features
|
||||
|
||||
- **Secure Encryption**: All traffic is encrypted using AES-GCM encryption with PBKDF2 key derivation
|
||||
|
||||
Reference in New Issue
Block a user