Autossh

2010-06-28 , Papiewski Łukasz , Tips & Tricks / Tipy

Autossh jest przydatnym programem, który otwiera dodatkowy port do nasłuchu połączenia i w razie przerwania połączenia wznawia sesję. Bardzo dobrze współpracuje przy forwardowaniu portów oraz także ze screenem.

Poniżej przykłady z życia codziennego:

autossh -t -M 1111 turnip  "cd web; screen -Rdd web"

Tutaj otwieramy automatycznie screena na serwerze zdalnym

autossh -M 1125 -N -C -L 1123:localhost:22 turnip
sud modprobe fuse
sshfs -o port=1123,allow_other,reconnect localhost:/ /mnt/turnip -f

Powyższe forwarduje port 1123 w celu zamontowania.

Aby połączyć ponownie autossh np. po zmianie hosta w etc/hosts, rozłączeniu internetu, hibernacji czy innych dziwnych przypadkach przypadkach, w których prosta taktyka dwu tunelowego wznawiania zawiedzie (albo timeout), wysyłamy sygnał użytkownika (SIGUSR1) aby wznowić cały proces.

kill -s SIGUSR1 `ps -A | grep autossh | awk '{print $1}' | xargs `
#lub krócej
killall -s SIGUSR1 autossh

Powyższy skrypt wykonuje to dla wszystkich wznawianych sesji ssh.

Powyższe przydatne gdy mamy wiele takich tuneli jednak w praktyce wystarczy Ctr+c aby wrócić do sesji.

Cytaty

- Simplicity is the ultimate sophistication. - Leonardo da Vinci,
- Popularny człowiek wzbudza zawiść potężnych - Thufir Hawat o Leto Atrydzie (na Kaladanie),
- Szczęście następuje po smutku, a smutek po szczęściu; człowiek jest naprawdę wolny, gdy przestaje rozróżniać między smutkiem a szczęściem, między dobrem a złem - Aforyzmy buddyjskie.