Mam uruchomioną instancję EC2 (FreeBSD 9 AMI ami-8cce3fe5) i mogę ssh do niej za pomocą mojego pliku klucza utworzonego przez Amazon bez pytania o hasło, bez problemu.
Jednak gdy chcę skopiować plik do instancji za pomocą scp, jestem proszony o podanie hasła:
scp somefile.txt -i mykey.pem [email protected]:/
Password:
Wszelkie pomysły, dlaczego tak się dzieje / jak można temu zapobiec?
-i
opcji, aby podać swoją tożsamość. Być może powinieneś również pokazać polecenie, którego używasz do logowania za pomocą ssh.Odpowiedzi:
Rozgryzłem to. Miałem argumenty w niewłaściwej kolejności. To działa:
źródło
ssh
polecenie nascp
i dodać plik nazwy po pliku pem.[email protected]:/home/ec2-user
można łatwo zastąpić krótszym i łatwiejszym[email protected]:./
./
FTW!źródło
Użyłem poniższego polecenia, aby skopiować z lokalnego Linuksa Centos 7 do AWS EC2.
źródło
Uczynienie z komentarza siliconerockstar odpowiedzi, ponieważ zadziałało dla mnie
źródło
Nazwa pliku nie powinna znajdować się między plikiem pem a ciągiem użytkownika ec2 - to nie działa. Pozwala to również zarezerwować nazwę skopiowanego pliku.
źródło
skopiuj plik z lokalnego serwera na zdalny serwer
skopiuj plik ze zdalnego serwera na komputer lokalny
Podstawowa składnia to: -
-i
jest dla pliku tożsamościźródło
Załóżmy, że plik pem i plik somefile.txt, który chcesz wysłać, znajdują się w folderze Pobrane
daj mi znać, jeśli to nie działa
źródło
:/
na końcu, ale dzięki:~/
temu działascp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz
będzie to bardzo pomocne dla was wszystkich
źródło
Mój
hadoopec2cluster.pem
plik był jedynym w katalogu na moim lokalnym komputerze Mac, nie mogłem go przesłać do aws przy użyciuscp -i hadoopec2cluster.pem hadoopec2cluster.pem ubuntu@serverip:~
.Skopiowano hadoopec2cluster.pem do hadoopec2cluster_2.pem, a następnie
scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem ubuntu@serverip:~
. Voila!źródło
Rozłączyło mnie to, ponieważ określałem mój plik klucza publicznego
Kiedy złapałem ten błąd i zamiast tego zmieniłem go na ścieżkę klucza prywatnego, wszystko było gotowe.
źródło
W twoim przypadku użytkownik
root
nie będzie miał żadnych problemów. Ale w niektórych przypadkach, gdy wymagane jest zalogowanie się w SSH jako inny użytkownik, upewnij się, że katalog, z którego korzystasz,scp
ma odpowiednie uprawnienia dla tego użytkownika.źródło
Aby korzystać z PSCP, potrzebujesz klucza prywatnego wygenerowanego podczas konwersji klucza prywatnego za pomocą PuTTYgen. Potrzebujesz także publicznego adresu DNS swojego wystąpienia Linuxa
źródło
napisz ten kod
Jeśli masz klucz SSH z dostępem do serwera docelowego, a serwer źródłowy nie, dodanie -o „ForwardAgent = yes” pozwoli Ci przesłać agenta SSH do serwera źródłowego, aby mógł on użyć Twojego klucza SSH do łączenia się z serwer docelowy.
źródło
Właśnie przetestowane:
Uruchom następujące polecenie:
Następnie:
źródło