Вот ситуацияBash - знать, если SSH туннель был создан правильно
Я свой компьютер, названный MY_COMPUTER
машина по имени REMOTE_VM
, на котором у меня есть пользователь remoteuser
, который имеет в /etc/passwd
оболочку /bin/false
У этого пользователя есть только одна функция, которая делает SSH-туннель, чтобы иметь возможность делать после обратного SSH.
команда В настоящее время я использую
ssh \
-nNT \
-R 42242:127.0.0.1:22 \
[email protected]_VM
Я хотел бы эту команду, которая будет выполняться в сценарии и есть способ, чтобы получить обратный вызов или способ (например, поставив эту команду SSH в фоновом режиме и сделать периодическая проверка существования файла сокета или что-то в этом роде), чтобы проверить, действительно ли соединение открыто, а не просто ожидает соединения в случае медленной сети.
Есть ли такой способ с openssh-клиентом, или вы должны пойти с пользовательской реализацией клиента ssh, чтобы вы могли поместить свой обратный вызов, если хотите?
Я бы предпочел как можно больше (даже грязное) решение с простым openssh-клиентом и bash.
Я думаю, что тестирование для процесса ssh должно быть все, что вам нужно – Arkadiy
@Arkadiy, но соединение все равно может быть отрицательным, поэтому вы знаете только, что он не прошел, если процесс больше не запущен, но этот процесс продолжается. не уверены, что соединение установлено –