diff --git a/cli-runopts.c b/cli-runopts.c index a6e2b062dbb2c91ab916d7069b2dd09681217e61..62568b0b127f77e857063312ae6fad27f254d585 100644 --- a/cli-runopts.c +++ b/cli-runopts.c @@ -610,7 +610,11 @@ static void parse_hostname(const char* orighostarg) { cli_opts.username = m_strdup(cli_opts.own_user); } - port = strchr(cli_opts.remotehost, '/'); + port = strchr(cli_opts.remotehost, '#'); + if (!port) { + // legacy separator + port = strchr(cli_opts.remotehost, '/'); + } if (port) { *port = '\0'; cli_opts.remoteport = port+1; diff --git a/dbclient.1 b/dbclient.1 index aac32ff88fc891a54d7e341447dd563046e89794..2379e4a9645dba70051357f4c6f26463d3797e03 100644 --- a/dbclient.1 +++ b/dbclient.1 @@ -15,7 +15,7 @@ dbclient \- lightweight SSH2 client .B dbclient [ .I args ] -.I [user1]@host1[/port1],[user2]@host2[/port2],... +.I [user1]@host1[#port1],[user2]@host2[#port2],... .SH DESCRIPTION .B dbclient @@ -24,10 +24,9 @@ environments, while still being functional and secure enough for general use. .SH OPTIONS .TP .B \-p \fIport -Remote port. -Connect to port +Connect to .I port -on the remote host. +on the remote host. Alternatively a port can be specified as hostname#port. Default is 22. .TP .B \-i \fIidfile @@ -127,7 +126,7 @@ Dropbear will also allow multiple "hops" to be specified, separated by commas. I this case a connection will be made to the first host, then a TCP forwarded connection will be made through that to the second host, and so on. Hosts other than the final destination will not see anything other than the encrypted SSH stream. -A port for a host can be specified with a slash (eg matt@martello/44 ). +A port for a host can be specified with a hash (eg matt@martello#44 ). This syntax can also be used with scp or rsync (specifying dbclient as the ssh/rsh command). A file can be "bounced" through multiple SSH hops, eg