SSH: RemotePortForw. - Привязка привилегированного порта

SSH: RemotePortForw. - Привязка привилегированного порта

очень короткий и базовый вопрос, у меня возникли проблемы с домашним заданием по сети. Вот что мне предлагается реализовать:

  • Настройте переадресацию удаленного порта SSH, чтобы перенаправить порт 83 компьютера pc1 на порт 8000 компьютера s1.

Чтобы сделать это, я использовал простой

s1:~# ssh -o StrictHostKeyChecking=no -NR 83:127.0.0.1:8000 [email protected] &

Где 10.0.1.2 — это IP-адрес ПК1, однако каждый раз я получаю предупреждение:

Предупреждение: Не удалось выполнить переадресацию удаленного порта для прослушиваемого порта 83

У меня нет запущенных программ, которые бы использовали порт 83, также если я попытаюсь локально (с ПК1) попробовать прослушивать порт 83, я смогу легко это сделать.

Примечание: я получаю эту ошибку от всех привилегированных портов, которые пытаюсь привязать.

решение1

Вам нужно либо быть пользователем root, чтобы привязать порты ниже 1024, либо иметь такую CAP_NET_BIND_SERVICE​​возможность. Чтобы получить ее, выполните:

 sudo -E -- setpriv --inh-caps +net_bind_service --ambient-caps +net_bind_service --reuid $USERNAME /bin/bash

Это запускает setprivутилиту от имени пользователя root, которая переключается обратно на ваш uid, но добавляет CAP_NET_BIND_SERVICEвозможности.

решение2

Для перенаправления портов ниже 1024 вам необходимо иметь права root на компьютере pc1 (он же 10.0.1.2), а не ssh_user.

Поскольку вы можете привязать порт 83, если вошли на pc1 (предположительно как root), может быть проще начать с pc1 и ssh на s1. Используйте '-L' для локальной привязки порта 83 вместо '-R'.

Связанный контент