У меня 2 сервера.
Server A
находится за маршрутизатором, к которому у меня нет доступа администратора. - У него есть пользователь:
userA
Server B (example.com)
- облачный сервер с общедоступным c ip. - У него есть пользователь:
userB
Я запускаю следующую команду на Server A
, чтобы переадресовывать любые соединения, сделанные на Server B
на Порт 8022
обратно на Server A
на порту 22
:
ssh -R *:8022:localhost:22 userB@example.com
Это создает как sh соединение, и у меня открыт сеанс для userB@example.com
Если я затем открою другой терминал (на другом компьютере) и s sh в userB@example.com
и после подключения запустите ssh userA@localhost -p 8022
, у меня будет активное соединение s sh с Server A
Это новое для мне, но все, кажется, имеет смысл.
Я хотел бы убедиться, что исходное соединение удаленной пересылки ssh -R
всегда активно. Это означает, что если соединение обрывается, мне нужно его восстановить. Если Server A
перезагрузится, мне нужно подключиться при запуске.
Как мне go сделать это?
Есть ли лучший подход?