Przesyłam pliki za pomocą tego polecenia
scp <localfile> user@host:<destination>
Powyższe polecenie działa tylko wtedy, gdy nie jestem ssh'd na serwerze.
Jak przesłać lokalne pliki na komputer hosta, gdy już jestem ssh'd?
Używam ssh user@hostname
ssh
file-transfer
Wszechobecny
źródło
źródło
Odpowiedzi:
Dobre pytanie.
scp
znowu, ale odwrotnie. Zrobiłem to i oto:edytowane w celu dodania: jak wskazano w komentarzach, wymaga to, aby komputer zdalny mógł uzyskać dostęp do komputera lokalnego. I sshd lub (openssh-server) musi być zainstalowany i uruchomiony na komputerze lokalnym.
źródło
Pomoże ci to wiedzieć, co uruchamiasz na komputerze hosta. Jeśli używasz Linuksa,
powinno działać.
źródło
user@host
Wydaje mi się, że odnosi się do dowolnego komputera, którego obecnie nie kontrolujesz. Tak więc, gdy OP nie jest zalogowany na komputerze zdalnym, wtedyuser@host
jest to komputer zdalny. Gdy OP jest zalogowany na komputerze zdalnym, touser@host
jest to komputer lokalny. Jeśli moje założenia są poprawne, to ta odpowiedź ma sens.Jeśli masz drogę powrotną do komputera lokalnego (komputer lokalny jest dostępny ze zdalnego - zwykle, gdy oba komputery są w tej samej sieci LAN), użycie scp ze zdalnego komputera powinno działać (
scp local:/path-to-file .
).Jeśli nie można uzyskać dostępu do komputera lokalnego ze zdalnego (zwykle prawda, jeśli komputer zdalny to VPS w Internecie, a komputer lokalny ma dynamiczny adres IP), najlepszym sposobem jest otwarcie nowego terminala na komputerze lokalnym i skopiowanie pliku.
Innym sposobem, bardziej skomplikowanym i na pewno nie koniecznym tylko do kopiowania plików, byłoby utworzenie sieci VPN między komputerami (lub sieciami), aby oba komputery były dostępne z drugiego i można było używać scp z jednego komputera lub z drugiego.
źródło
podczas logowania do systemu zdalnego (łatwiej po prostu cd do lokalizacji pliku) sudo scp lokalizacja_pliku / nazwa_pliku użytkownik @ host: lokalizacja_pliku
podczas wylogowania ze zdalnego systemu sudo scp autor_użytkownika @ nazwa_hosta: lokalizacja_pliku / nazwa_pliku nowa_lokacja_na_lokalnej_machine
UWAGA: pamiętaj, że po wylogowaniu ze zdalnych systemów, jeśli jest to nowy terminal, pierwsze hasło będzie hasłem sudo, drugie hasło będzie hasłem autoryzowanego użytkownika. jeśli sudo-edowałeś wcześniej w tym konkretnym terminalu, to potrzebujesz tylko hasła autoryzowanego użytkownika. uważaj na to, to sprawia, że jest to trudne.
źródło