2016-09-22 08:03:38 +01:00
# ssh
2014-02-01 16:48:38 +11:00
> Secure Shell is a protocol used to securely log onto remote systems.
> It can be used for logging or executing commands on a remote server.
2014-01-31 23:31:35 +08:00
2016-01-15 14:41:03 +00:00
- Connect to a remote server:
2014-02-01 16:48:38 +11:00
`ssh {{username}}@{{remote_host}}`
2014-01-31 23:31:35 +08:00
2016-01-15 14:41:03 +00:00
- Connect to a remote server with a specific identity (private key):
2014-02-28 23:12:10 +11:00
2016-10-18 10:27:47 +05:30
`ssh -i {{path/to/key_file}} {{username}}@{{remote_host}}`
2014-02-28 23:12:10 +11:00
2016-01-15 14:41:03 +00:00
- Connect to a remote server using a specific port:
2014-02-01 16:48:38 +11:00
2014-03-01 11:46:48 +05:30
`ssh {{username}}@{{remote_host}} -p {{2222}}`
2014-01-31 23:31:35 +08:00
2016-01-07 18:31:27 +01:00
- Run a command on a remote server:
2015-10-22 15:31:52 +08:00
2016-01-05 20:37:25 +02:00
`ssh {{remote_host}} {{command -with -flags}}`
2014-02-18 12:31:59 +11:00
2016-01-15 14:41:03 +00:00
- SSH tunneling: Dynamic port forwarding (SOCKS proxy on localhost:9999):
2014-02-01 16:48:38 +11:00
`ssh -D {{9999}} -C {{username}}@{{remote_host}}`
A bunch of new pages:
common/: dig, gzip, rm, sort, zfs, zpool
linux/: apt-get, shutdown
osx/: airport, caffeinate, diskutil, networksetup open, pgrep, qlmanage, say, shutdown, sysctl, system_profiler
Edits to existing pages:
curl: Added simple download example
find: Added iname and size exmaples
grep: Edited -c description
ps: Added wide lines example
ssh: edited -D description, added simple port forwarding example
unzip: added list option
2014-02-10 12:36:05 -08:00
2018-06-21 07:21:47 +02:00
- SSH tunneling: Forward a specific port (localhost:9999 to slashdot.org:80) along with disabling pseudo-[t]ty allocation and executio[n] of remote commands:
A bunch of new pages:
common/: dig, gzip, rm, sort, zfs, zpool
linux/: apt-get, shutdown
osx/: airport, caffeinate, diskutil, networksetup open, pgrep, qlmanage, say, shutdown, sysctl, system_profiler
Edits to existing pages:
curl: Added simple download example
find: Added iname and size exmaples
grep: Edited -c description
ps: Added wide lines example
ssh: edited -D description, added simple port forwarding example
unzip: added list option
2014-02-10 12:36:05 -08:00
2018-06-21 07:21:47 +02:00
`ssh -L {{9999}}:{{slashdot.org}}:{{80}} -N -T {{username}}@{{remote_host}}`
2014-08-26 23:33:18 +01:00
2018-06-21 07:21:47 +02:00
- SSH jumping: Connect through a jumphost to a remote server (Multiple jump hops may be specified separated by comma characters):
2014-08-26 23:36:49 +01:00
2018-06-21 07:21:47 +02:00
`ssh -J {{username}}@{{jump_host}} {{username}}@{{remote_host}}`
- Agent forwarding: Forward the authentication information to the remote machine (see `man ssh_config` for available options):
`ssh -A {{username}}@{{remote_host}}`