gerrit show-connections
=======================

NAME
----
gerrit show-connections - Display active client SSH connections

SYNOPSIS
--------
--
'ssh' -p <port> <host> 'gerrit show-connections' [--numeric | -n]
--

DESCRIPTION
-----------
Presents a table of the active SSH connections, the users who
are currently connected to the internal server and performing
an activity.

ACCESS
------
Caller must be a member of the privileged 'Administrators' group,
or have been granted
link:access-control.html#capability_viewConnections[the 'View Connections' global capability].

SCRIPTING
---------
Intended for interactive use only.

OPTIONS
-------
--numeric::
-n::
	Show client hostnames as IP addresses instead of DNS hostname.

--wide::
-w::
	Do not format the output to the terminal width (default of
	80 columns).

DISPLAY
-------

Session::
	Unique session identifier on this server.  Session
	identifiers have a period of 2^32-1 and start from a
	random value.

Start::
	Time (local to the server) that this connection started.

Idle::
	Time since the last data transfer on this connection.
	Note that most SSH clients use not only a TCP based
	connection keep-alive, but also an encrypted keep alive
	higher up in the SSH protocol stack.  That higher keep
	alive resets the idle timer, about once a minute.

User::
	The username of the account that is authenticated on this
	connection.  If the -n option is used, this column shows
	the Account Id instead.

Remote Host::
	Reverse lookup hostname, or if -n option is used, the remote
	IP address.

EXAMPLES
--------

With reverse DNS lookup (default):
====
	$ ssh -p 29418 review.example.com gerrit show-connections
	Session     Start     Idle   User            Remote Host
	--------------------------------------------------------------
	3abf31e6 20:09:02 00:00:00  jdoe            jdoe-desktop.example.com
	--
====

Without reverse DNS lookup:
====
	$ ssh -p 29418 review.example.com gerrit show-connections -n
	Session     Start     Idle   User            Remote Host
	--------------------------------------------------------------
	3abf31e6 20:09:02 00:00:00  a/1001240       10.0.0.1
	--
====

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
