Туннелирование SSH: connect_to localhost порт 22: неудавшийся

В C это похоже на это:

int main(int argc, char *argv[]) {

argc является количеством аргументов. Обратите внимание, что программа/инструмент называет количества.

Сами аргументы заканчиваются в векторе аргумента (или массив), argv.

Затем существует хитрая часть написания кода для контакта с ними намеченного пути.

Затем скомпилируйте с gcc. Вы указываете название программы с -o (outfile) флаг. Петляйте из его текущего каталога как это: ./tool_name input_file_1 ... input_file_n (или помещенный это в каталог, который поднимается, когда Вы пишете echo $PATH, затем можно вызвать его отовсюду, т.е. без точки).

4
16.06.2013, 20:30
3 ответа

Если sshd на Вашем среднем сервере не добрался GatewayPorts набор параметра конфигурации к да (значение по умолчанию не является никаким представлением man 5 sshd_options) затем необходимо будет указать связывать адрес на передаче:

ssh -R *:9300:localhost:22 user@middleserver

(можно указать IP-адрес локальной машины для создания этого более строгим).

Без этого только устройство закольцовывания передается на middleserver.

1
27.01.2020, 20:54

(ошибка, о которой Вы сообщаете, показательна из проблемы в step1 ниже),

В первую очередь, сделайте, как вышеупомянутый плакат упомянул: добавить GatewayPorts yes в/etc/ssh/sshd_config и изменение Ваш ssh-R строка к

ssh -vvv -R *:9300:localhost:22 user@middleserver

(удалите-vvv после того, как мы получим эту работу),

*Установка связывать адреса к * передаст соединения в любом интерфейсе и не просто обратную петлю ('lo', который включает 127.0.0.1 == localhost). ifconfig перечисляет интерфейсы.. т.е. eth0, lo, и wlan0.*

Если это не работает поиск и устранение неисправностей:

Шаг 1), Удостоверяются, что Вас разрешают ssh в Вашу удаленную машину:

На удаленной машине самой попробуйте:

ssh localhost

Если это говорит, что соединение отказалось затем, необходимо включить ssh на той машине.

Если это успешно выполняется, ввести ifconfig и отметьте локальное "inet 192.168.xxx.yyy" адрес.

Step2), пробуют SSH от локальной машины

Затем перейдите к машине в той же локальной сети как Ваша удаленная машина и попробуйте к ssh в Вашу удаленную машину: ssh mylgoinID@192.168.xxx.yyy

Если это не успешно выполняется, затем проверяют брандмауэр Вашей удаленной машины (см. ниже).

Если это успешно выполнилось затем

Шаг 3) Попытка ssh от машины посредника

войдите в машину посредника и попробуйте соединение SSH непосредственно оттуда. В вышеупомянутом случае Вы работали ssh -R *:9300:localhost:22 middleuser@middleserver на удаленной машине, таким образом, необходимо войти в систему middlemachine и работать: ssh remoteuser@localhost -p 9300

Если это успешно выполняется затем, проблема может быть с брандмауэром на Вашем сервере:

Прежде, чем смешать с iptables проверяют и видят, есть ли у Вас используемый менеджер по брандмауэру. Например, проверьте, используется ли "ufw": sudo ufw status . Было бы намного легче использовать ufw, чем смешать с iptables непосредственно.

iptables -L и проверьте, открыт ли порт 9300 (это включит некоторое исследование iptables.. это не просто). Обман: Если порт 9300 перечислен рядом с http, и похожим способом затем проверяют, открыт ли http. Если 9300 упоминается ниже затем, это не может быть достигнуто, если "отклоняют, все" - вводят директиву, перечислен перед ним. Это также может быть перечислено как именованный порт. cat /etc/services | grep 9300 однако не поднимает имя в этом случае

Шаг 4) Попытка Ваш вход в систему снова:

ssh remoteuser@middleserver -p 9300
4
27.01.2020, 20:54

Простое решение, выполните:

sudo apt install openssh-server

на удаленном компьютере.

0
27.01.2020, 20:54

Теги

Похожие вопросы