{
"name": "ssh",
"description": "Log into a remote machine",
"options": [
{
"names": [
"-1"
],
"description": "Forces ssh to try protocol version 1 only"
},
{
"names": [
"-2"
],
"description": "Forces ssh to try protocol version 2 only"
},
{
"names": [
"-4"
],
"description": "Forces ssh to use IPv4 addresses only"
},
{
"names": [
"-6"
],
"description": "Forces ssh to use IPv6 addresses only"
},
{
"names": [
"-A"
],
"description": "Enables forwarding of the authentication agent connection"
},
{
"names": [
"-a"
],
"description": "Disables forwarding of the authentication agent connection"
},
{
"names": [
"-b"
],
"description": "Use bind_address on the local machine as the source address of the connection",
"takes_arg": true,
"arg": {
"name": "bind address",
"description": "Source address of the connection"
}
},
{
"names": [
"-C"
],
"description": "Requests compression of all data (including stdin, stdout, stderr, and data for forwarded X11 and TCP connections)"
},
{
"names": [
"-c"
],
"description": "Selects the cipher specification for encrypting the session",
"takes_arg": true,
"arg": {
"name": "cipher spec",
"description": "The selected cipher specification"
}
},
{
"names": [
"-D"
],
"description": "Specifies a local 'dynamic' application-level port forwarding",
"takes_arg": true,
"arg": {
"name": "port",
"description": "Port of the bind address"
}
},
{
"names": [
"-e"
],
"description": "Sets the escape character for sessions with a pty (default: '~')",
"takes_arg": true,
"arg": {
"name": "escape char",
"description": "Specified escape character"
}
},
{
"names": [
"-F"
],
"description": "Specifies an alternative per-user configuration file",
"takes_arg": true,
"arg": {
"name": "configfile",
"description": "Path to alternative config file",
"template": "filepaths"
}
},
{
"names": [
"-f"
],
"description": "Requests ssh to go to background just before command execution"
},
{
"names": [
"-g"
],
"description": "Allows remote hosts to connect to local forwarded ports"
},
{
"names": [
"-I"
],
"description": "Specify the PKCS#11 shared library ssh should use to communicate with a PKCS#11 token providing the user's private RSA key",
"takes_arg": true,
"arg": {
"name": "pkcs11"
}
},
{
"names": [
"-i"
],
"description": "Selects a file from which the identity (private key) for public key authentication is read",
"takes_arg": true,
"arg": {
"name": "identity file",
"description": "Path to identity (private key)",
"template": "filepaths"
}
},
{
"names": [
"-K"
],
"description": "Enables GSSAPI-based authentication and forwarding (delegation) of GSSAPI credentials to the server"
},
{
"names": [
"-k"
],
"description": "Disables forwarding (delegation) of GSSAPI credentials to the server"
},
{
"names": [
"-L"
],
"description": "Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side",
"takes_arg": true,
"arg": {
"name": "port:host:hostport",
"description": "Local port, followed by host and host port to forward to"
}
},
{
"names": [
"-l"
],
"description": "Specifies the user to log in as on the remote machine",
"takes_arg": true,
"arg": {
"name": "login name",
"description": "Name of user logging into remote machine"
}
},
{
"names": [
"-M"
],
"description": "Places the ssh client into ``master'' mode for connection sharing"
},
{
"names": [
"-m"
],
"description": "Additionally, for protocol version 2 a comma-separated list of MAC (message authentication code) algorithms can be specified in order of preference",
"takes_arg": true,
"arg": {
"name": "mac spec"
}
},
{
"names": [
"-N"
],
"description": "Do not execute a remote command"
},
{
"names": [
"-n"
],
"description": "Redirects stdin from /dev/null (actually, prevents reading from stdin)"
},
{
"names": [
"-O"
],
"description": "Control an active connection multiplexing master process",
"takes_arg": true,
"arg": {
"name": "ctl cmd",
"description": "Command that's passed to the master process"
}
},
{
"names": [
"-o"
],
"description": "Can be used to give options in the format used in the configuration file",
"takes_arg": true,
"arg": {
"name": "option",
"description": "Options that can be specified in the format of the config file",
"suggestions": [
"AddressFamily",
"BatchMode",
"BindAddress",
"ChallengeResponseAuthentication",
"CheckHostIP",
"Cipher",
"Ciphers",
"ClearAllForwardings",
"Compression",
"CompressionLevel",
"ConnectionAttempts",
"ConnectTimeout",
"ControlMaster",
"ControlPath",
"ControlPersist",
"DynamicForward",
"EscapeChar",
"ExitOnForwardFailure",
"ForwardAgent",
"ForwardX11",
"ForwardX11Timeout",
"ForwardX11Trusted",
"GatewayPorts",
"GlobalKnownHostsFile",
"GSSAPIAuthentication",
"GSSAPIDelegateCredentials",
"HashKnownHosts",
"Host",
"HostbasedAuthentication",
"HostKeyAlgorithms",
"HostKeyAlias",
"HostName",
"IdentityFile",
"IdentitiesOnly",
"IPQoS",
"KbdInteractiveAuthentication",
"KbdInteractiveDevices",
"KexAlgorithms",
"LocalCommand",
"LocalForward",
"LogLevel",
"MACs",
"NoHostAuthenticationForLocalhost",
"NumberOfPasswordPrompts",
"PasswordAuthentication",
"PermitLocalCommand",
"PKCS11Provider",
"Port",
"PreferredAuthentications",
"Protocol",
"ProxyCommand",
"PubkeyAuthentication",
"RekeyLimit",
"RequestTTY",
"RhostsRSAAuthentication",
"RSAAuthentication",
"SendEnv",
"ServerAliveInterval",
"ServerAliveCountMax",
"StrictHostKeyChecking",
"TCPKeepAlive",
"Tunnel",
"TunnelDevice",
"UsePrivilegedPort",
"User",
"UserKnownHostsFile",
"VerifyHostKeyDNS",
"VisualHostKey",
"XAuthLocation"
]
}
},
{
"names": [
"-p"
],
"description": "Port to connect to on the remote host",
"takes_arg": true,
"arg": {
"name": "port",
"description": "Port to connect to"
}
},
{
"names": [
"-q"
],
"description": "Quiet mode. Causes most warning and diagnostic messages to be suppressed"
},
{
"names": [
"-R"
],
"description": "Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side",
"takes_arg": true,
"arg": {
"name": "port:host:hostport",
"description": "Local port, followed by host and host port to forward to"
}
},
{
"names": [
"-S"
],
"description": "Specifies the location of a control socket for connection sharing, or the string 'none' to disable connection sharing",
"takes_arg": true,
"arg": {
"name": "ctl_path",
"description": "Location of the control socket",
"template": "filepaths"
}
},
{
"names": [
"-s"
],
"description": "May be used to request invocation of a subsystem on the remote system"
},
{
"names": [
"-T"
],
"description": "Disable pseudo-tty allocation"
},
{
"names": [
"-t"
],
"description": "Force pseudo-tty allocation"
},
{
"names": [
"-V"
],
"description": "Display the version number and exit"
},
{
"names": [
"-v"
],
"description": "Verbose mode. Causes ssh to print debugging messages about its progress"
},
{
"names": [
"-W"
],
"description": "Requests that standard input and output on the client be forwarded to host on port over the secure channel",
"takes_arg": true,
"arg": {
"name": "host:port",
"description": "Host and port to forward to"
}
},
{
"names": [
"-w"
],
"description": "Requests tunnel device forwarding with the specified tun(4) devices between the client (local_tun) and the server (remote_tun)",
"takes_arg": true,
"arg": {
"name": "local tun",
"description": "Local device to forward to"
}
},
{
"names": [
"-X"
],
"description": "Enables X11 forwarding"
},
{
"names": [
"-x"
],
"description": "Disables X11 forwarding"
},
{
"names": [
"-Y"
],
"description": "Enables trusted X11 forwarding"
},
{
"names": [
"-y"
],
"description": "Send log information using the syslog(3) system module"
}
],
"args": [
{
"name": "user@hostname",
"description": "Address of remote machine to log into"
}
]
}