Wyobraź sobie scenariusz, w którym jestem zalogowany na serwerze (który nazywamy „Wallace”) z mojego komputera lokalnego, a stamtąd ssh
na innym serwerze (który nazwiemy „Gromit”):
laptop ---ssh---> Wallace ---ssh---> Gromit
Następnie sesja ssh z Wallace'a do Gromita zawiesza się i chcę ją zabić. Jeśli ~.
wejdę, aby zabić ssh, to zabije sesję ssh z mojego laptopa do Wallace'a, ponieważ ~
jest przechwytywana przez tę sesję ssh i .
jest traktowana jako polecenie zabicia sesji. Jak wysłać polecenie do sesji ssh między Wallace i Gromit? Jak zabić mój „wewnętrzny” ssh?
Odpowiedzi:
Dodaj kolejną tyldę (tj. Typ
~~.
). Każda kolejna tylda jest zjadana przez zewnętrzną sesję ssh, która jeszcze jej nie zjadła, ale jeśli następna postać jest inną tyldą, jest przekazywana do następnej sesji w.Jeśli z gromit 1 przełączyłeś się na trzeciego hosta (nazwijmy to wensleydale), wtedy
~~~.
przerwałbyś sesję na wensleydale i powrócił do monitu o gromit.1 Cóż to za wspaniały serwer; jak często słyszę uwagę dewelopera „cracking host, gromit”?
źródło
laptop --> Wallace --> Gromit --> Shaun --> Timmy
lub coś takiego szalonego ...Możesz wydawać dowolne polecenia i przechwytywać dane wyjściowe z najbardziej wewnętrznej powłoki do zmiennej
źródło