Dość często potrzebuję pliku z jakiegoś serwera, gdy jestem na laptopie. Ale jeśli nie wiem, gdzie jest ten plik, muszę przejść do ssh
serwera, rozejrzeć się exit
, a potem scp server:file .
. Jeśli pracuję z komputerem i serwerem, z których oba mają statyczne adresy IP, mogę po prostu przeskanować plik w odwrotnej kolejności ( scp desktop:~ file
), ale nie mogę tego zrobić na moim laptopie. Czy jest jakiś dobry sposób na SCP plik do tyłu przez połączenie SSH? Czy komputer, z którym łączę się za pomocą SSH, wysyła plik do klienta?
17
Odpowiedzi:
Byłoby to o wiele łatwiejsze dzięki SFTP, które jest rozszerzeniem SSH, które obsługuje bardziej złożone operacje na plikach niż SCP. Praktycznie wszystkie współczesne dystrybucje Uniksa i Linuksa obsługują to. Aby go użyć, wystarczy uruchomić to polecenie, aby połączyć się z serwerem:
Następnie możesz użyć poleceń
ls
icd
, aby przeglądać i znajdować szukany plik. Po znalezieniu użyjget
polecenia, aby go pobrać. Na przykład, aby pobraćfile.txt
w bieżącym katalogu roboczym na serwerze do bieżącego katalogu roboczego na komputerze lokalnym, wystarczy uruchomić:Aby pobrać
/home/pavpanchekha/textfiles/file.txt
z serwera~/textfiles/
na komputer lokalny, uruchom:I odwrotnie, możesz również przesyłać pliki w ten sposób. Aby przesłać
file.txt
z lokalnego bieżącego katalogu roboczego do bieżącego katalogu roboczego serwera, wpisz:Możesz również użyć pełnych ścieżek dla każdego, tak jak możesz
get
:Aby uzyskać pełną listę dostępnych poleceń SFTP, wystarczy uruchomić
help
usftp>
szybka.źródło
SSH_CLIENT
Zmienna środowiskowa zawiera między innymi adres IP hosta łączącego się. Można go użyć do utworzenia aliasu powłoki w celu łatwego SFTP z powrotem do hosta źródłowego. Po prostu dodaj tę linię do~/.bashrc
serwera:alias sftpback="sftp $(echo $SSH_CLIENT | awk '{print $1}')"
Następnie odłącz i ponownie połącz z SSH, aby zmiana zaczęła obowiązywać, lub uruchom ją tak, jakby była poleceniem, aby od razu zaczęła obowiązywać. Od tegosftpback
momentu możesz po prostu uruchomić SFTP z powrotem do klienta, z którym się łączysz, bez względu na to, z którego on jest.Menedżer plików konsoli Midnight Commander (mc) ma system VFS, który umożliwia zarządzanie połączeniami / plikami SFTP ze zdalnymi serwerami. Działa również w Cygwin w systemie Windows. Domyślny interfejs pokazuje dwa niezależne panele; moglibyśmy otworzyć zdalny katalog SFTP w jednym z nich i łatwo przenieść pliki do / z drugiego panelu. Zawiera edytor / przeglądarkę plików (mcedit) z podświetlaniem składni.
źródło