Проблема, соединяющаяся с ssh сервером, который находится позади другого ssh сервера в наутилусе

Таким образом, у меня есть этот школьный сервер, с которым я пытаюсь соединиться через наутилус. В терминале это все легко, но я хочу смочь открыть его также в наутилусе.

В терминале мой способ сделать это похоже на это:

ssh myUser@my.server.com

Теперь, когда я соединен там, я могу сделать ssh myUser2.my.server2.com в том сервере для соединения с server2. Я canoot соединяюсь с сервером 2 непосредственно. Это должно быть сделано как, я делаю это прямо сейчас.

Таким образом, прямо сейчас я могу только получить соединение с первым сервером в наутилусе путем ввода ssh://myUser@my.server.com

Но как я соединяюсь с server2 оттуда?

1
задан 4 September 2014 в 11:34

1 ответ

Если Ваш первый сервер SSH (my.server.com) поддержки Перенаправление портов TCP, можно передать порт в локальной системе (localhost) к my.server2.com через my.server.com:

ssh -fNL 2022:my.server2.com:22 myUser@my.server.com

Это передаст порту 2022 на localhost портировать 22 на my.server2.com. Затем можно соединиться непосредственно со вторым сервером:

ssh myUser2@localhost:2022

В Наутилусе можно соединить использование ssh://myUser2@localhost:2022.


-fN флаги отправляют SSH в фон, и создает проблему в закрытии его. Существует три пути:

Автоблизко

ssh -fNL 2022:my.server2.com:22 myUser@my.server.com sleep 10

Теперь подключение с помощью Наутилуса перед командой сна заканчивает выполняться (10 секунд). Соединение будет поддержано, пока Наутилус соединен. При выполнении разъединение от Наутилуса и соединение будут остановлены.

Позвольте команде ожидать входа

ssh -tL 2022:my.server2.com:22 myUser@my.server.com 'read -p"Press Enter to exit: "'

read команда будет ожидать входа. Нажмите Enter, когда Вы будете сделаны для закрытия соединения.

Ищите процесс соединения и уничтожьте его

pgrep -fa fNL

Это покажет Вам всем процессы, которые имеют fNL в командной строке (должен только быть Ваш процесс соединения SSH). Также kill PID правильного процесса, если существует больше чем один или использование pkill если существует только один процесс: pkill-f fNL Это - в значительной степени единственная опция для соединений, которые были уже установлены с помощью -fN.

Не выполните команду и выйдите, как обычно,

ssh -L 2022:my.server2.com:22 myUser@my.server.com

Это откроет нормальную оболочку, от которой можно выйти, как Вы обычно делаете.

2
ответ дан 11 November 2019 в 09:33

Другие вопросы по тегам:

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