# To ssh via pem file (which normally needs 0600 permissions): ssh -i /path/to/file.pem user@example.com # To connect on an non-standard port: ssh -p 2222 user@example.com # To connect and forward the authentication agent ssh -A user@example.com # To execute a command on a remote server: ssh -t user@example.com 'the-remote-command' # To tunnel an x session over SSH: ssh -X user@example.com # Redirect traffic with a tunnel between local host (port 8080) and a remote # host (remote.example.com:5000) through a proxy (personal.server.com): ssh -f -L 8080:remote.example.com:5000 user@personal.server.com -N # To launch a specific x application over SSH: ssh -X -t user@example.com 'chromium-browser' # To create a SOCKS proxy on localhost and port 9999 ssh -D 9999 user@example.com # -X use an xsession, -C compress data, "-c blowfish" use the encryption blowfish ssh user@example.com -C -c blowfish -X # For more information, see: # http://unix.stackexchange.com/q/12755/44856 # Copy files and folders through ssh from remote host to pwd with tar.gz compression # when there is no rsync command available ssh user@example.com "cd /var/www/Shared/; tar zcf - asset1 asset2" | tar zxf - # Mount folder/filesystem through SSH # Install SSHFS from https://github.com/libfuse/sshfs # Will allow you to mount a folder securely over a network. sshfs name@server:/path/to/folder /path/to/mount/point # Emacs can read file through SSH # Doc: http://www.gnu.org/software/emacs/manual/html_node/emacs/Remote-Files.html emacs /ssh:name@server:/path/to/file # Generate ssh key ssh-keygen -t rsa -C "your_email@example.com" -P "" -q -f ~/.ssh/gitlab_rsa # ed25519 key # Added in OpenSSH 6.5 ssh-keygen -t ed25519 ssh-keygen -t ed25519 -C "user@example.com" -q -f ~/.ssh/user@example.com ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine