alphasec
Bash / Unix protip 0059
in 𝕏

ssh -t drg@host "screen -dRS foo" - i zrywane sesje SSH nie straszne

tty1 · bash
$ ssh -t drg@host "screen -dRS foo"
#Linux#Unix#MacOS#Bash#RedTeam#BlueTeam#ssh#ProzaŻycia

Czy czasem zdarza Wam się, że działacie coś na zdalnym hoście po ssh i nagle zrywa Wam połączenie? Musicie wtedy onelinera pisać od nowa, albo usuwać pliky wymiany czy przywracać część plików. Powyższy oneliner, który zaprzęga screen-a do pracy jest jednym z tricków, który pozwoli temu zaradzić. Rozbijmy go na części pierwsze:

Dzięki temu, po zestawieniu połączenia, automatycznie uruchomi się screen i podłączy do sesji o wskazanej nazwie, a jeśli nie istniała, stworzy ją.

Oczywiście równie dorze, możemy najpierw standardowo podłączyć się po ssh, a potem, jeśli potrzebujemy, wydać polecenie podłączającej do danej sesji nazwanej screen-a, np.: screen -dRS foo.

Możemy mieć oczywiście wiele różnie nazwanych sesji.

Jak to działa — krok po kroku

Rozłóżmy onelinera na czynniki pierwsze:

ssh -t drg@host

połącz się z hostem host jako użytkownik drg wymuszając allokację pseudoterminala (opcja -t) co jest wymagane przy uruchomianiu programów typu screen,

"screen -dRS foo"

po podłączeniu uruchom polecenie screen -dRS foo, którego opcje spowodują:

  • -d - odłącz sesję, jeśli już jakaś jest podłączona do tego screen-a,
  • -R - podłącz się do sesji, a jeśli nie istniała, utwórz ją,
  • -S foo - nazwij aktualną sesję foo, żeby jednoznacznie wskazać sesję, którą dotyczą parametry -d i -R.

← poprzedni protip 0058 ••• Wszystkie protipy następny → protip 005a
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: