Почему я не могу указать порт с хостом, как в http, например. ssh 127.0.0.1:2222? Каким-то образом это выглядит как обычный путь, но, по крайней мере, клиент OpenSSH этого не понимает.
-1
2 ответа
3
ssh.c
не содержит код, который это поддерживает; код, который читает хост, ищет только формы host
или user@host
:
if (ac > 0 && !host) {
if (strrchr(*av, '@')) {
p = xstrdup(*av);
cp = strrchr(p, '@');
if (cp == NULL || cp == p)
usage();
options.user = p;
*cp = '\0';
host = xstrdup(++cp);
} else
host = xstrdup(*av);
if (ac > 1 && !opt_terminated) {
optind = optreset = 1;
goto again;
}
ac--, av++;
}
Форма host:port
используемая некоторыми программами, - не единственный способ; Например, telnet
использует host port
как и nc
. Даже более старые программы rsh
и rlogin
не позволяют указывать порт. Этот выбор остается за автором программы, а для ssh
host:port
не использовался.
0
OpenSSH не поддерживает формат host:port
. Если вы хотите указать порт для SSH, используйте опцию -p
.
ssh -p 2222 ibug@example.com