OpenSSH SSH client (remote login program)
-f Requests ssh to go to background just before command execution. This is useful if ssh is going to
ask for passwords or passphrases, but the user wants it in the background. This implies -n. The
recommended way to start X11 programs at a remote site is with something like ssh -f host xterm.
If the ExitOnForwardFailure configuration option is set to “yes”, then a client started with -f
will wait for all remote port forwards to be successfully established before placing itself in the
-n Redirects stdin from /dev/null (actually, prevents reading from stdin). This must be used when ssh
is run in the background. A common trick is to use this to run X11 programs on a remote machine.
For example, ssh -n shadows.cs.hut.fi emacs & will start an emacs on shadows.cs.hut.fi, and the X11
connection will be automatically forwarded over an encrypted channel. The ssh program will be put
in the background. (This does not work if ssh needs to ask for a password or passphrase; see also
the -f option.)
-N Do not execute a remote command. This is useful for just forwarding ports (protocol version 2
-T Disable pseudo-tty allocation.
Specifies that the given port on the remote (server) host is to be forwarded to the given host and
port on the local side. This works by allocating a socket to listen to port on the remote side,
and whenever a connection is made to this port, the connection is forwarded over the secure
channel, and a connection is made to host port hostport from the local machine.
Port forwardings can also be specified in the configuration file. Privileged ports can be
forwarded only when logging in as root on the remote machine. IPv6 addresses can be specified by
enclosing the address in square braces.
By default, the listening socket on the server will be bound to the loopback interface only. This
may be overridden by specifying a bind_address. An empty bind_address, or the address ‘*’,
indicates that the remote socket should listen on all interfaces. Specifying a remote bind_address
will only succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).
If the port argument is ‘0’, the listen port will be dynamically allocated on the server and
reported to the client at run time. When used together with -O forward the allocated port will be
printed to the standard output.
ssh connects and logs into the specified hostname (with optional user name). The user must prove his/her
identity to the remote machine using one of several methods depending on the protocol version used (see
If command is specified, it is executed on the remote host instead of a login shell.