Chcę pobrać plik z aktywnej sesji SSH. W wielu przypadkach pewnie mógłby po prostu użyć SFTP, scp
, rsync
et al, ale są chwile, gdzie mam podwyższone uprawnienia na zdalnym serwerze w taki sposób, że nie mogą korzystać z tych metod.
Jeśli próbujesz zrozumieć, co mam na myśli, wyobraź sobie, że chcesz pobrać coś z /root/
lub /var/log/auth.log
. Logowanie root jest wyłączone (ponieważ nie jesteśmy idiotami). Jak zdobyć ten plik? Skopiować go w mniej chronione miejsce, a następnie przenieść? To jest niezgrabne. Istnieją również scenariusze, w których zdalna ścieżka jest złożona lub tymczasowa lub nawet nie jest ścieżką, ponieważ chcę, aby dane wyjściowe polecenia zdalnego były przechowywane lokalnie. Przechowywać zdalnie, a następnie skopiować? Clunk!
Istnieje kilka innych niezgrabnych sposobów na uzyskanie tych wersji, ale w idealnym świecie miałbym coś podobnego do lokalnego dostępu do zapisu ze zdalnego serwera, wykorzystując istniejącą sesję SSH jako kanał. Coś w stylu (to tylko wrażenie artysty):
$oli@remote: cp /root/cheesecake /local/
I po prostu pojawia się w mojej lokalnej cwd
. A dwukierunkowy dostęp nie byłby złą rzeczą.
Minęło osiem długich lat, odkąd zadałem to pytanie, i widzieliśmy prawdziwy zakres brzękania, ale pozostaje to problem, z którym wciąż mam problemy.
Przekształciłem pytanie w coś o wiele bardziej idealistycznego. W pełni rozumiem, że obecnie może nie być idealnej odpowiedzi. Doceniamy wszystkie przeszłe i przyszłe wysiłki na rzecz mojego ideału.
zssh
jest prawdopodobnie najbliższy przepływowi pracy przypominającemu zmodem, który pamiętasz.