Używam SCP regularnie do przenoszenia plików między serwerami i słyszałem plotki, że możesz używać uzupełniania tabulatorów na zdalnym serwerze, jeśli używasz kluczy publicznych, ale jak dotąd nie miałem szczęścia.
To, co próbuję osiągnąć, jest następujące:
scp -r remote.ip.address:/remote/dir/folder<TAB> /local/destiation/
Na ls
zdalnym serwerze /dir/
ujawniłby 3 foldery:
/remote/dir/folder_1
/remote/dir/folder_2
/remote/dir/folder_3
Chciałbym, aby SCP ujawnił, które foldery pasują (jeśli istnieją), podobnie jak normalne uzupełnianie ścieżki podczas nawigacji po lokalnym systemie plików. Uzupełnianie tabulatorów działa na lokalnych ścieżkach w scp
wierszu poleceń, ale zauważyłem, że gdy ścieżka zdalnego komputera pasuje do lokalnego (tj: „~ /”), uzupełnia / sugeruje pliki / foldery z lokalnego systemu plików niż pilot.
Uruchomienie następujących funkcji logowania bez hasła:
`ssh remote.ip.address`
... więc wiem, że klucze są poprawnie skonfigurowane. Wszelkie pomysły na to, jak to zrobić?
Odpowiedzi:
Jakiej powłoki używasz? Jeśli używasz bash, może być konieczne włączenie „zaawansowanych” uzupełnień w bash ...
W twoim ~ / .bashrc
W OSX możesz wykonać:
Do swojego ~ / .profile dodaj:
źródło
Jeśli ktoś chce to zrobić dla Mac OSX Mountain Lion metodą rkthkr, musi najpierw zainstalować porty Mac ( http://www.macports.org/install.php ), uruchom polecenie, o którym wspomniał:
następnie skonfiguruj aplikację terminalu zgodnie z instrukcjami podanymi tutaj: https://trac.macports.org/wiki/howto/bash-completion
źródło
Innym, może prostszym rozwiązaniem jest użycie sshfs .
Jest to oparty na bezpiecznikach system plików, który łączy folder zdalny z folderem lokalnym. Pod maską używany jest scp, ale można obsługiwać
cp
polecenie tak samo, jak kopiowanie plików na komputerze lokalnym. Zatem uzupełnianie tabulatorów działa automatycznie! sshfs jest dostępny dla większości dystrybucji, np. dosudo apt-get install sshfs
(ładuje to równieżfuse
moduł jądra)Zacznij tak:
źródło
Zdecydowanie polecam używanie yafc .
Obsługuje uzupełnianie nazw plików i ma również inne przydatne funkcje (np. Rekurencyjne get / put / fxp / ls / rm)
źródło