Требуется пробросить порт на машину у машины с серым ip на машину с белым.
Сейчас у меня есть решение этой задачи, с помощью форвардинга портов. Те к машине с белым ip идет подключение по ssh и там уже настрое форвардинг. В этом решении меня устраивает все, кроме того факта что сервер ( у которого сервый ip) получает полный доступ к машине. Таким образом возникает вопрос, как настроить ssh сервер, так чтобы он только позволял делать форвард портов и нечего более. На машине с белым ip установлен windows, даже была мысль крутить виртуальную машины с linux для этих целей, но считаю этот вариант слишком избыточным. Может быть есть какой-то контейнер для ssh? просто настройками прав доступа в windows как я понимаю проблему не решить, все равно у пользователя будут избыточные права.
Сейчас делаю так ssh ПОЛЬЗОВАТЕЛЬ@УДАЛЕННЫЙ_IP -R 127.1:1022:127.1:22
но у этой схемы есть вышеописанный недостаток, кроме собственно порт форвардинга получаем лишние права
В обсуждении выяснилось, что я плохо задаю вопросу. поэтому более подробно
Есть машина A серый ip.
Есть машина B белый ip.
Задача стоит очень простая, подключится с машины B к ssh серверу машины A.
Выше я написал свое решение, но кроме собственно возможности подключатся по ssh мы получаем права пользователя и как не урезай права системой, все равно останутся лишние.
Как вариант можно настроить vpn но для задачи подключения к одному порту, мне это видеться слишком "жирным" решением, да и опять же машина A получает доступ к подсети машины B. что тоже является лишним.
сервер ( у которого сервый ip) получает полный доступ к машине
Но вы правильно заметили "портфорвардинг". Простое описание, как это можно реализовать:
1. Необходимо ssh серверу(на машине с серым ip) поменять порт который он слушает на другой(который не используется на машине с белым ip, например - 1020)
2. На машине с белым ip(это может быть роутер) настраиваем портфорвардинг всех запросов порта 1020 на серый ip на порт 1020
3. Подключаемся по ssh к белому ip указывая порт 1020 -> попадаем на машину с серым ip
мы не можем подключится к машине с серым ip с машины с белым ip. поэтому ваша схема не подходит. Сейчас машина с сервым ip подключается по ssh к машине с белым, но в месте с возможностью форвардинга получаем еще кучу "лишних" прав.
Вы наверное не поняли то, что я описал, вы попробуйте еще раз прочитать. Я не предлагаю подключаться к машине с серым ip с машины с белым ip. Я предлагаю настроить портфорвардинг, который позволяет напрямуя подключаться к машине с серым ip просто используя белый ip адрес.
как вы предлагаете сделать
2. На машине с белым ip(это может быть роутер) настраиваем портфорвардинг всех запросов порта 1020 на серый ip на порт 1020
как можно настроить порт форвардинг на машину с серым ip? при условии что машины на прямую не могут подключится.
Значит я не правильно понял ваш вопрос: "Как подключится к серому ip по ssh?" Я думал имеется ввиду что нужно подключиться к локальной машине с серым ip извне, т.е. через белый ip
ivankomolin: вы правильно поняли, и сейчас есть рабочая схема
ssh ПОЛЬЗОВАТЕЛЬ@УДАЛЕННЫЙ_IP -R 127.1:1022:127.1:22
но у этой схемы есть недостаток, машина получает лишние права на машине с белым ip
interprise: Опишите подробнее ситуацию: каким образом "машина получает лишние права на машине с белым ip" если вы написали выше "при условии что машины на прямую не могут подключится"
Либо вы меня не хотите понять, либо я вас не понимаю)))
Ваше решение на мой взгляд для такой задачи совсем неприемлемо.
Любая машина с серым ip при подключении к интернету всегда имеет какую-либо связь c "белым ip"
Опишите подробнее вашу инфраструктуру начиная от места где кабель с белым ip входит в вашу сеть, и тогда возможно я смогу вам помочь
Есть машина A серый ip.
Есть машина B белый ip.
Задача стоит очень простая, подключится с машины B к ssh серверу машины A.
Выше я написал свое решение, но кроме собственно возможности подключатся по ssh мы получаем права пользователя и как не урезай права системой, все равно останутся лишние.
Как вариант можно настроить vpn но для задачи подключения к одному порту, мне это видеться слишком "жирным" решением, да и опять же машина A получает доступ к подсети машины B. что тоже является лишним.
Все понял. Но все же задачу нужно решать с другой стороны. т.е. сначала добиться того, чтобы к машине A был доступ извне, т.е. по сути получить каким-то образом для нее белый ip по которому можно к ней будет подключаться.
я уже написал, то белый ip всегда есть, там где есть интернет) что значит нет возможности сделать белый ip? Если у вас нет доступа к оборудованию на котором можно настроить портфорвардинг, то можно поискать открытый порт, который не нужен и использовать его, не настраивая портфорвардинг