Эти рисунки должны помочь вам ответить на все вопросы: https://unix.stackexchange.com/a/118650/121504
Но чтобы прямо ответить на ваши вопросы:
Для удаленной пересылки:
порт
- это конечная точка соединения на сервере SSH.
Для локальной переадресации:
порт
- это конечная точка подключения в клиентском процессе SSH
Для прокси-сервера SOCKS:
порт
является конечной точкой подключения в клиентском процессе SSH
Но гораздо более наглядное объяснение - это эскизы, указанные выше. Но подведем итог:
Первый порт (для SOCK прокси единственный) - это всегда свободный порт , который вы собираетесь подключать с помощью следующий шаг. Другой порт - это порт, на котором запускает существующую службу .
Легче выяснить, если я понимаю, в чем на самом деле вопрос, - это использовать lsof
. Ваш порт указан в моих примерах 12345
:
Для удаленной переадресации:
[local ] $ ssh -R 12345:localhost:22 remote
[remote] $ lsof -P | grep 12345
sshd 27772 root 7u IPv6 1304283702 0t0 TCP localhost:12345 (LISTEN)
sshd 27772 root 8u IPv4 1304283703 0t0 TCP localhost.localdomain:12345 (LISTEN)
Для локальной переадресации:
[local] $ ssh -L 12345:localhost:22 remote
[local] $ lsof -p $(pidof ssh) -P | grep 12345
ssh 6779 jakuje 4u IPv6 146565 0t0 TCP ip6-localhost:12345 (LISTEN)
ssh 6779 jakuje 5u IPv4 146566 0t0 TCP localhost:12345 (LISTEN)
Для динамической переадресации портов:
[local] $ ssh -D 12345 root@dta3.com
[local] $ lsof -p $(pidof ssh) -P | grep 12345
ssh 11388 jakuje 4u IPv6 173537 0t0 TCP ip6-localhost:12345 (LISTEN)
ssh 11388 jakuje 5u IPv4 173538 0t0 TCP localhost:12345 (LISTEN)