SSH — Secure Remote Access

SkillFiles & storage

SSH remote access - connections, tunnels, keys, file transfers. Use when connecting to servers, managing SSH keys, setting up port forwarding, or transferring files with scp/rsync.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the SSH — Secure Remote Access skill

What this skill tells your AI

The instructions your AI receives, as published by dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations in skills/ssh/SKILL.md and read by ahel’s review.

Core Capability: Secure shell connections, key management, tunneling, and file transfers.


Quick Start

# Connect to server
ssh user@hostname

# Connect with specific key
ssh -i ~/.ssh/my_key user@hostname

# Run remote command
ssh user@host "cd /app && git status"

# Copy file to remote
scp local.txt user@host:/remote/path/

# Sync directory (preferred over scp)
rsync -avzP ./local/ user@host:/remote/

THE EXACT PROMPT — Common Workflows

Connect Through Jump Host

# Single jump (bastion)
ssh -J jumphost user@internal-server

# Multiple jumps
ssh -J jump1,jump2 user@internal-server

Local Port Forward (access remote service locally)

# Access remote:80 via localhost:8080
ssh -L 8080:localhost:80 user@host

# Access db-server:5432 via localhost:5432 through jumphost
ssh -L 5432:db-server:5432 user@jumphost

Generate and Deploy Key

# Generate Ed25519 key (recommended)
ssh-keygen -t ed25519 -C "you@example.com"

# Copy public key to server
ssh-copy-id user@host

Essential Commands

TaskCommand
Connectssh user@host
Connect on portssh -p 2222 user@host
Connect with keyssh -i ~/.ssh/key user@host
Run remote commandssh user@host "command"
Interactive remotessh -t user@host "htop"
Copy to remotescp file.txt user@host:/path/
Copy from remotescp user@host:/path/file.txt ./
Sync to remotersync -avzP ./local/ user@host:/remote/
Local forwardssh -L local:remote:port user@host
Remote forwardssh -R remote:local:port user@host
SOCKS proxyssh -D 1080 user@host
Jump hostssh -J bastion user@internal
Generate keyssh-keygen -t ed25519
Copy key to serverssh-copy-id user@host
Debug connectionssh -vvv user@host

SSH Config

Location: ~/.ssh/config

Host myserver
    HostName 192.168.1.100
    User deploy
    Port 22
    IdentityFile ~/.ssh/myserver_key
    ForwardAgent yes

Host internal
    HostName 10.0.0.50
    User deploy
    ProxyJump bastion

Then connect with just: ssh myserver

Connection Multiplexing (faster reconnects)

Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h-%p
    ControlPersist 600
mkdir -p ~/.ssh/sockets

SSH Agent

# Start agent
eval "$(ssh-agent -s)"

# Add key
ssh-add ~/.ssh/id_ed25519

# Add with macOS keychain
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

# List loaded keys
ssh-add -l

Security Tips

  • Use Ed25519 keys (faster, more secure than RSA)
  • Set PasswordAuthentication no on servers
  • Keep keys encrypted with passphrases
  • Use ssh-agent to avoid typing passphrase repeatedly
  • Restrict key usage with command= in authorized_keys

AGENTS.md Blurb

Copy this to your project's AGENTS.md:

### SSH Access

SSH is configured for these servers:

- **Production:** `ssh prod` (via ~/.ssh/config)
- **Staging:** `ssh staging`

Common operations:

\`\`\`bash
ssh prod "cd /app && git status"      # Check deploy status
rsync -avzP ./dist/ prod:/app/dist/   # Sync files
ssh -L 5432:localhost:5432 prod       # DB tunnel
\`\`\`

Keys: `~/.ssh/id_ed25519` (add with `ssh-add`)

References

TopicReference
Full command referenceCOMMANDS.md
Port forwarding detailsTUNNELS.md
Key managementKEYS.md

Signals

GitHub stars
73
Forks
16
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ssh-dicklesworthstone
Source
github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations