Cheat Sheet SSH
Cheat Sheet SSH
Cheat Sheet SSH
Most people know SSH as a tool for remote login, which it is, but it can be used in many other ways.
Create a SOCKS proxy to tunnel your web traffic (like when you’re traveling)
ssh -D <port> <remote_host>
Set your web browser to use localhost:<port> as the proxy.
Connect to a Windows RDP host behind a bastion server
ssh -L <port>:<target_host>:3389 <bastion_server>
Set your RDP client to connect to localhost:<port>
Connect to a Windows RDP host behind a bastion server
ssh -L <port>:<target_host>:3389 <bastion_server>
Set your RDP client to connect to localhost:<port>
Connect to your remote machine’s VNC server without opening the VNC port
ssh -L 5901:localhost:5901 <remote_host>
Set your VNC client to to connect to localhost:5901
You can follow this pattern with other ports you don’t want to open to the world:
LDAP (381), 631 (CUPS), 8080 (alternate HTTP), and so on.
Generate a new SSH key pair
ssh-keygen
Update the passphrase on an existing SSH key-pair
ssh-keygen -p
Copy an SSH private key to a remote host
ssh-copy-id -i <identity file> <remote_host>
SSH has a lot of command-line options, but if you use the same options for a host regularly,
you can put an entry in the SSH configuration file (${HOME}/.ssh/config) instead. For example:
host myhouse
User itsme
HostName house.example.com
Then you can type ssh myhouse instead of ssh itsme@house.example.com.
Here are common command-line options and their configuration file equivalents. Some are simplified for common use cases.
See the ssh(1) and ssh_config(5) manual pages for full details.