SSH Key Management

Manage SSH keys for your team. Team SSH keys can be used to access VMs and for Git Deploy authentication.

List SSH Keys

teenode ssh-key list

Alias:

teenode ssh-key ls

Specific team:

teenode ssh-key list --team team_abc123

Add SSH Key

From file:

teenode ssh-key add --name laptop-key --file ~/.ssh/id_rsa.pub

With inline public key:

teenode ssh-key add --name server-key --public-key "ssh-rsa AAAAB3NzaC1..."

Interactive:

teenode ssh-key add

Delete SSH Key

With confirmation:

teenode ssh-key delete key_123

Without confirmation:

teenode ssh-key delete key_123 --yes

Supported Key Types

  • ssh-rsa - RSA keys
  • ssh-ed25519 - Ed25519 keys (recommended)
  • ecdsa-sha2-nistp256 - ECDSA 256-bit keys
  • ecdsa-sha2-nistp384 - ECDSA 384-bit keys
  • ecdsa-sha2-nistp521 - ECDSA 521-bit keys

Generate SSH Key

Generate a new Ed25519 key (recommended):

ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519

Or RSA key:

ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa

Examples

Add Your Default SSH Key

$ teenode ssh-key add --name my-laptop --file ~/.ssh/id_ed25519.pub
 SSH key my-laptop added successfully

SSH Key Details
──────────────────────────────────────────────────────────────────
ID:           key_abc123
Name:         my-laptop
Fingerprint:  SHA256:abc123def456...
Created:      2025-01-15 10:00:00

Public Key:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF... user@laptop

List All SSH Keys

$ teenode ssh-key list
┌─────────────┬────────────┬──────────────────────────────────────────────────┬────────────┐
 ID Name Fingerprint Created
├─────────────┼────────────┼──────────────────────────────────────────────────┼────────────┤
 key_abc123 my-laptop SHA256:abc123def456... 1/15/2025
 key_def456 ci-server SHA256:def789ghi012... 1/10/2025
└─────────────┴────────────┴──────────────────────────────────────────────────┴────────────┘

Total: 2 SSH keys

Delete a Key

$ teenode ssh-key delete key_abc123
? Are you sure you want to delete SSH key key_abc123? (y/N) y
 SSH key key_abc123 deleted successfully

JSON Output

$ teenode ssh-key list --json | jq '.keys[] | {id, name, fingerprint}'
{
  "id": "key_abc123",
  "name": "my-laptop",
  "fingerprint": "SHA256:abc123def456..."
}
{
  "id": "key_def456",
  "name": "ci-server",
  "fingerprint": "SHA256:def789ghi012..."
}
    SSH Keys - Teenode CLI Documentation