General
PromptBeginner5 minmarkdown
<h1 align="center">
<a href="https://prompts.chat">
5
generic skill
Sign in to like and favorite skills
name: SSH Microagent type: knowledge version: 1.0.0 agent: CodeActAgent triggers:
This microagent provides capabilities for establishing and managing SSH connections to remote machines.
ssh username@hostname
When prompted, you should ask the user for their password or a private key.
Generate a new SSH key pair:
ssh-keygen -t ed25519 -f ~/.ssh/key_name -C "comment" -N ""
Copy the public key to the remote server:
ssh-copy-id -i ~/.ssh/key_name.pub username@hostname
Connect using the private key:
ssh -i ~/.ssh/key_name username@hostname
Create or edit the SSH config file for easier connections:
mkdir -p ~/.ssh cat > ~/.ssh/config << 'EOF' Host alias HostName hostname_or_ip User username IdentityFile ~/.ssh/key_name Port 22 ServerAliveInterval 60 EOF chmod 600 ~/.ssh/config
Then connect using the alias:
ssh alias
-p PORT: Connect to a specific port-X: Enable X11 forwarding-L local_port:remote_host:remote_port: Set up local port forwarding-R remote_port:local_host:local_port: Set up remote port forwarding-N: Do not execute a remote command (useful for port forwarding)-f: Run in background-v: Verbose mode (add more v's for increased verbosity)Copy a file to the remote server:
scp /path/to/local/file username@hostname:/path/to/remote/directory/
Copy a file from the remote server:
scp username@hostname:/path/to/remote/file /path/to/local/directory/
Copy a directory recursively:
scp -r /path/to/local/directory username@hostname:/path/to/remote/directory/
Start the SSH agent:
eval "$(ssh-agent -s)"
Add a key to the agent:
ssh-add ~/.ssh/key_name
systemctl status sshdnc -zv hostname 22ssh -vvv username@hostnamechmod 600 ~/.ssh/key_name)ssh-keygen -R hostnameThe most basic approach is to ensure proper file permissions:
# Set correct permissions for private keys chmod 600 ~/.ssh/id_ed25519 # Set correct permissions for public keys chmod 644 ~/.ssh/id_ed25519.pub # Set correct permissions for SSH directory chmod 700 ~/.ssh