ssh.c não contém código que suporte isso; o código que lê o host só procura por host ou user@host forms:
if (ac > 0 && !host) {
if (strrchr(*av, '@')) {
p = xstrdup(*av);
cp = strrchr(p, '@');
if (cp == NULL || cp == p)
usage();
options.user = p;
*cp = ' if (ac > 0 && !host) {
if (strrchr(*av, '@')) {
p = xstrdup(*av);
cp = strrchr(p, '@');
if (cp == NULL || cp == p)
usage();
options.user = p;
*cp = '%pre%';
host = xstrdup(++cp);
} else
host = xstrdup(*av);
if (ac > 1 && !opt_terminated) {
optind = optreset = 1;
goto again;
}
ac--, av++;
}
';
host = xstrdup(++cp);
} else
host = xstrdup(*av);
if (ac > 1 && !opt_terminated) {
optind = optreset = 1;
goto again;
}
ac--, av++;
}
A forma host:port usada por alguns programas não é o único caminho; telnet por exemplo usa host port como nc . Os programas ainda mais antigos rsh e rlogin não parecem permitir que a porta seja especificada. Essa escolha depende do autor do programa e, para ssh host:port , não foi usado.