У мене є проксі-сервер, до якого я підключаюсь так
ssh -L 2001:localhost:8888 -N myserver.com -p 443
Потім я відкриваю Firefox
firefox -p "SSHProxy"
(Він запускає Firefox, налаштований на використання порту 2001 р.) Я трохи переглядаю, потім закриваю Firefox, а потім зупиняю тунель.
Я хотів би зробити це автоматизувати: відкрити тунель, потім відкрити Firefox. Коли я закриваю Firefox, я також хотів би закрити тунель.
Чи можливо це за допомогою простого сценарію?
я намагався
ssh -L 2001:localhost:8888 -N myserver.com -p 443 && firefox -p "SSHProxy"
але виконується лише біт SSH, Firefox не відкривається. Якщо я скасую замовлення, SSH відкриється лише після закриття Firefox.
За допомогою нижче я використав цей спрощений сценарій:
#!/bin/bash -e
#Start SSH
ssh -L 2001:localhost:8888 -Nf myserver.com -p 443 &
#Start Firefox
firefox -p "SSHProxy" &
#Kill the SSH port 2001 when Firefox stops
trap "ps aux | grep ssh | grep 2001 | awk '{print \$2}' | xargs kill" EXIT SIGINT SIGTERM
wait
trap
, не виходить вихід Firefox? Я раніше не чув про це,trap
але я трохи прочитав і спробував додати ще більше сигналів,trap "kill ${PID[*]}" EXIT QUIT INT STOP TERM ERR SIGINT SIGTERM
але все одно не потрапив.