это простой сценарий: с компьютера A я открываю туннель SSH на компьютер B. Может ли кто-нибудь на компьютере B использовать этот туннель для входа или пересылки какого-либо протокола на компьютер A? Могу ли я ограничить создание трафика только с компьютера A? Спасибо.
Я предполагаю, что вы говорите о "туннеле" переадресации портов SSH - если вы запустите (например) ssh -L 8080:B:80 user@B
на хосте A и не сделали ничего необычного с вашей конфигурацией SSH, ответ заключается в том, что нет риска "обратной промывки" с хоста B.
Приведенная выше команда открывает прослушиватель на локальном адресе обратной связи хоста A (127.0.0.1 / :: 1) на порту 8080.
Когда вы отправляете трафик этому прослушивателю, он отправляется через SSH-соединение на другую сторону на порт 80 хоста B.
Ответы от хоста B будет перемещаться обратно по туннелю, но хост B не может инициировать новые соединения обратно с хостом A - это единственный порт вперед, а не широко открытый туннель.
Что касается второй части вашего вопроса (ограничение трафика), по умолчанию SSH связывает перенаправленные порты с localhost, поэтому, если вы используете команду выше, хост A - единственный, который может использовать соединение. Полный синтаксис для -L
вариант -L LocalIP:LocalPort:RemoteHost:RemotePort
, однако часть LocalIP обычно опускается и по умолчанию используется localhost.
Для получения дополнительной информации обратитесь к Справочные страницы OpenSSH.