Хорошо, название может быть немного запутанным, поэтому вот что я пытаюсь достичь.
У меня есть несколько машин типа A, которые будут подключаться к серверу B. Все машины типа A будут иметь некоторый GUID.
Я пытаюсь добиться того, чтобы машина A инициировала SSH-туннель к серверу B, после чего кто-то из его персонального компьютера мог подключиться к машинам типа A через сервер B.
Я могу перенести его так:
ssh -R 3000:localhost:22 server_host -p 58122
Но это не совсем удобно, так как я должен угадать неиспользуемый порт.
Я бы предпочел что-то вроде этого:
ssh -R /tmp/nodes/${guid}.sock:localhost:22 server_host -p 58122
Тогда как то так с сервера Б:
ssh /tmp/nodes/${guid}.sock
Но первая команда всегда возвращает это:
Warning: remote port forwarding failed for listen path /tmp/guid.sock
Как будто сокет не может быть создан. Клиент ssh подключается к серверу B, но не может инициировать сокет для своего собственного порта ssh.
Основная цель состоит в том, чтобы иметь возможность создать SSH-туннель от узловых компьютеров A к серверу B. Причина в том, что эти машины скрыты за сетью, и нет никакого другого реального способа создания туннеля от сервера B к узлам A ,
Я даже не уверен, что ssh может подключиться напрямую к сокету, поэтому, если есть альтернатива переадресации портов, я был бы рад узнать.