Ваша терминология задом наперед!То, что вы пытаетесь сделать, - это туннель от локальной машины до удаленной системы.Это связано с тем, что удаленной системой является сервер TCP , поэтому соединение инициируется в локальной системе и принимается в удаленной системе.Метод ListenForwardedPort
предназначен для другого направления.
Я не проверял это, но, прочитав исходный код Гранадоса, я думаю, что вам нужен метод ForwardPort
.Он принимает четыре связанных с хостом аргумента, например:
remote_host
: хост с сервером на нем, т.е. ваш сервер MySQL remote_port
: порт, которым является серверпрослушивание, т. е. 3306 originator_host
: хост, который вы хотите прослушивать на локальной стороне, вероятно, "localhost" originator_port
: порт хоста, к которому вы хотите подключитьсяна локальной стороне вы можете повторно использовать 3306 или выбрать любой другой доступный номер
Ваш сервер MySQL, remote_host
, может быть «localhost» (как видно на другой конечной точке SSHсоединение), но это также может быть любая машина, доступная удаленной системе.Вы также можете использовать IP-адрес удаленной системы, то есть что-то отличное от localhost или 127.0.0.1.