Muszę przesłać plik między dwoma komputerami, które nie są podłączone do tej samej sieci. Mam trzeci komputer, który widzi obie sieci za pośrednictwem VPN.
Z trzeciego komputera mogę:
scp root@firstcomputer:./file ./
I zakończ transfer następującym zdaniem:
scp ./file root@secondcomputer:./
Ale nie mogę tego zrobić w jednym wierszu, jak następuje:
scp root@firstcomputer:./file root@secondcomputer:./
Odpowiedź błędu to
ssh: connect to host secondcomputer port 22: No route to host
lost connection
Zdaję sobie sprawę, że prawdopodobnie dlatego, że pierwszy komputer nie widzi drugiego komputera. Czy można nadać SCP parametr, który dotyczy faktu, że maszyna z programem SCP jest jedyną, która może zobaczyć oba komputery?
Nawiasem mówiąc, trzeci komputer to Mac z Lionem, a na pierwszej i drugiej działa Debian.
źródło
Możesz spróbować:
Spowoduje to skopiowanie pliku do katalogu / tmp na trzecim komputerze, a jeśli się powiedzie, skopiuje ten plik na komputer pomocniczy, a następnie sam się wyczyści. Ponieważ używasz operatora &&, każde polecenie zostanie wykonane tylko wtedy, gdy poprzednie polecenie zakończy się powodzeniem.
źródło