У меня есть приложение C ++ (под linux), которое открывает обратный туннель ssh.Это хорошо работает.Но у меня есть некоторые проблемы, чтобы закрыть соединение.Команда закрытия будет работать так, как должно, когда я запускаю приложение из командной строки, но когда я запускаю приложение из задания cron в фоновом режиме, соединение не будет закрыто.
Вот мой код:
Открытое соединение:
std::string cmd = "ssh -o StrictHostKeyChecking=no -f -N -T -M -R 8003:192.168.0.1:8001 -R 8007:192.168.0.1:8005 -R 22222:localhost:22 sshService";
system(cmd.c_str());
Чтобы закрыть соединение, я использую:
std::string cmd = "ssh -T -O exit sshService";
system(cmd.c_str());
Моя конфигурация хоста:
Host sshService
HostName www.addressOfServer.com
User sshUser
ControlPersist 4h
ControlPath ~/.ssh/sshService.ctl
IdentityFile /home/user/sshUser
Есть некоторые идеичто я делаю не так?Или какие-то идеи, как я могу выяснить проблему?