По какой-то причине мой обратный туннель autossh не работает.
Вот мой приказ:
└─# autossh -M 12121 -N -f -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /root/.ssh/id_rsa -R 12345:localhost:22 root@amazon
Но по какой-то причине прослушиватель открывается на порту 12121 через SSH, а другой открывается на 12122 для autossh. Однако ни один не открывается на 12345 введите описание изображения здесь
решение1
autossh -M 12121 …
открывает порты 12121
и 12122
на локальной стороне (где autossh
работает). -R 12345:localhost:22
это запрос на открытие порта 12345
наудаленныйсторона. Я думаю, 12121
что также используется на удаленной стороне, но единственный факт, который вы наблюдали, 12122
используемый autossh
(что является локальным процессом), говорит мне, что вы исследовали вещи локально.
На локальном компьютере, который вы наблюдали 12121
и 12122
прослушивали. Вы не наблюдали 12345
прослушивания, потому что ваш локальный компьютернетудаленный сервер, к которому вы подключились.
Если вы ssh
зайдете на удаленный сервер и посмотрите там, то вы, вероятно, обнаружите порт, 12345
открытый для прослушивания (примечание: вероятно,только на интерфейсе обратной связи).
Если вам нужен туннель, который слушает локально, то вам нужен -L
, а не -R
. Полагаю, в этом конкретном случае вам действительно нужен туннель, который слушает удаленно, т. е -R
. Проблема была в том, что вы искали его прослушивающий конец не на той машине.