Securely connect to and manage remote Linux/Unix servers via SSH. Execute commands, transfer files (SCP/SFTP), set up port forwarding and tunnels. Use when the user asks to SSH into a server, connect to a remote machine, run remote commands, upload/download files to servers, set up tunnels, or perform server administration tasks. Works on Windows, macOS, and Linux.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Securely connect to and manage remote Linux/Unix servers via SSH. Execute commands, transfer files (SCP/SFTP), set up port forwarding and tunnels. Use when the user asks to SSH into a server, connect to a remote machine, run remote commands, upload/download files to servers, set up tunnels, or perform server administration tasks. Works on Windows, macOS, and Linux.
SSH Server Administration
A comprehensive skill for secure remote server management via SSH. Supports command execution, file transfers, port forwarding, and tunneling. Cross-platform compatible: Windows, macOS, and Linux.
Platform Detection
CRITICAL: Detect the operating system first to use the correct SSH approach.
Before executing SSH commands, check the platform:
Windows: Use PowerShell or Windows OpenSSH (built into Windows 10+)
macOS/Linux: Use standard bash SSH commands
Authentication Methods (In Order of Preference)
1. SSH Key Authentication (RECOMMENDED - Works Everywhere)
SSH keys are the most secure and reliable method. They work identically on all platforms.
Check for existing keys:
# Windows (PowerShell)
Get-ChildItem ~/.ssh/id_*.pub
# macOS/Linuxls -la ~/.ssh/id_*.pub
If keys exist, use them:
# All platforms - key auth is automatic if keys are set up
ssh -o StrictHostKeyChecking=accept-new [username]@[host] "[command]"
If no keys exist, help user create them:
# All platforms (works in PowerShell, bash, zsh)
ssh-keygen -t ed25519 -C
ssh-copy-id -i ~/.ssh/id_ed25519.pub [username]@[host]
~/.ssh/id_ed25519.pub | ssh [username]@[host]
"user@example.com"
# Copy public key to server (if ssh-copy-id available)
# This will prompt for password interactively
ssh -o StrictHostKeyChecking=accept-new [username]@[host] "[command]"
Option C: Use PuTTY's plink (if installed)
# plink can accept password via echo (less secure)
echo [password] | plink -ssh -pw [password] [username]@[host] "[command]"
macOS/Linux Approach
Option A: Use sshpass (if available)
# Check if sshpass is installedwhich sshpass
# If installed, use it
sshpass -p '[password]' ssh -o StrictHostKeyChecking=accept-new [username]@[host] "[command]"
# Access remote service on local port (all platforms with keys)
ssh -L [local_port]:localhost:[remote_port] [username]@[host]
# Example: Access remote MySQL (3306) on local port 3307
ssh -L 3307:localhost:3306 [username]@[host]
Remote Port Forwarding (-R):
# Expose local service to remote (all platforms with keys)
ssh -R [remote_port]:localhost:[local_port] [username]@[host]
Dynamic Port Forwarding (SOCKS Proxy):
ssh -D [local_port] [username]@[host]
Server Administration Tasks
System Information
# Check system info
ssh user@host "uname -a && cat /etc/os-release"# Check disk space
ssh user@host "df -h"# Check memory usage
ssh user@host "free -h"# Check running processes
ssh user@host "ps aux --sort=-%mem | head -20"# Check system load
ssh user@host "uptime && top -bn1 | head -15"
Service Management (systemd)
# Check service status
ssh user@host "systemctl status [service_name]"# Start/stop/restart service
ssh user@host "sudo systemctl start|stop|restart [service_name]"# View service logs
ssh user@host "journalctl -u [service_name] -n 50 --no-pager"