Rozejrzałem się po innych pytaniach tutaj i różnych samouczkach dotyczących „użycia SCP” w Internecie, ale nie mogę ustalić, co jest nie tak.
Używam Linux Mint i staram się dowiedzieć, jak działa scp .
Mam plik file.ext (na moim komputerze) w katalogu / home / name / dir /
Łączę się ze zdalnym komputerem za pomocą ssh , takiego jak:
ssh -p 2222 username@domain
pyta mnie o hasło, a powłoka wyświetla:
username@domain ~ $
teraz, jeśli wydam polecenie (zanim uruchomiłem ssh, byłem w katalogu lokalnym / home / name / dir ):
scp -r -P 2222 file.ext username@domain
wyjście to:
cp: cannot stat ‘file.ext’: No such file or directory
Ten sam wynik, jeśli zamiast file.ext napiszę pełną ścieżkę
scp -r -P 2222 /home/name/dir/file.ext username@domain
Ponadto administrator serwera powiedział mi, że prześlę plik do mojego zdalnego katalogu domowego (zamiast root), na przykład:
scp -r -P 2222 file.ext username@domain:~/
ale kiedy to robię i wciskam „Enter”, nic się nie dzieje, tak jakby powłoka czekała na dalsze dane wejściowe.
Podsumowanie moich problemów:
- cp: brak takiego pliku lub katalogu
- powłoka „utknęła” na ~ /
Jakieś sugestie?
scp
The remote strona zawsze musi zawierać dwukropka (np remotehost:/tmp
), w przeciwnym wypadku będzie to po prostu zrobić zwykłą kopię ( scp /tmp/foo.txt example.com
kopiuje /tmp/foo.txt
do pliku lokalnego example.com
)
-r
flagę, ponieważ nie jest to konieczne do kopiowania pojedynczych plików (służy do rekurencyjnego kopiowania katalogów)
localuser@machineA: ssh -p 2222 username@domain
(aby wskazać, że uruchamiasz komendę ssh jako localuser na maszynie A)