Próbowałem SSH na mój serwer AWS Ubuntu i skopiować katalog na mój komputer lokalny. W trakcie całego procesu występują różne błędy uprawnień do plików (wymienione poniżej).
Czy do pliku .pem potrzebne jest jedno określone uprawnienie do pliku, które pozwala mi na SSH i SCP?
Czy też muszę dwukrotnie zmieniać uprawnienia do plików - raz dla SSH, a drugi dla SCP po zalogowaniu?
Oto polecenia, których używam:
SSH:
ssh -i sentiment.pem [email protected]
Kopiuj ze zdalnego na komputer lokalny za pomocą:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Korzystam z systemu Mac OS X 10.7.5.
Wersja próbna i błąd:
1.) Po pierwszym pobraniu pliku .pem jego uprawnienia zostały ustawione na, MYŚLĘ: 0644
-rw-r - r - @ 1 sztab Toga 1692 18 lutego 21:21 sentiment.pem
Następnie próbowałem połączyć się przez SSH za pośrednictwem terminala i otrzymałem następujące informacje:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0644 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
2.) Zaktualizowałem uprawnienia do pliku do: chmod 660 sentiment.pem
Po aktualizacji uprawnienia zostały ustawione na:
-rw-rw ---- @ 1 sztab Toga 1692 18 lutego 21:21 sentiment.pem
Następnie próbowałem połączyć się przez SSH za pośrednictwem terminala i otrzymałem następujące informacje:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0660 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
3.) Zaktualizowałem uprawnienia do pliku do: chmod 600 sentiment.pem
Po aktualizacji uprawnienia zostały ustawione na:
-rw ------- @ 1 sztab Toga 1692 18 lutego 18 21:27 sentiment.pem
Następnie spróbowałem połączyć się przez terminal SSH i udało mi się !!
4.) Teraz zalogowany, uruchamiam polecenie skopiowania katalogu zdalnego na mój komputer lokalny za pomocą:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Które zwraca:
Permission denied (publickey).
Próbowano wykonać polecenia SCP:
1.) dodał polecenie -i i odwołał się do pliku .pem:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Users / Toga / Desktop / sentimentlocal
2.) dodał polecenie -i, odwołał się do pliku .pem i zmienił użytkownika AWS na ec2-user:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Users / Toga / Desktop / sentimentlocal
3.) dodał polecenie -i, odwołał się do pliku .pem, zmienił użytkownika AWS na ec2-user i dodał pełną ścieżkę pliku dla lokalizacji pliku .pem:
scp -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]: / home / ubuntu / sentiment / Users / Toga / Desktop / sentimentlocal
źródło
Odpowiedzi:
Odwiedź tutaj Jak połączyć się z Amazon EC2 zdalnie za pomocą SSH lub zapoznaj się poniżej.
Jak połączyć się z Amazon EC2 zdalnie za pomocą SSH:
Utwórz katalog:
Przenieś pobrany plik .pem do właśnie utworzonego katalogu .ssh:
Zmień uprawnienia do pliku .pem, aby tylko użytkownik root mógł go odczytać:
Utwórz plik konfiguracyjny:
Wprowadź następujący tekst do tego pliku konfiguracyjnego:
Zapisz ten plik.
Użyj polecenia ssh z publiczną nazwą hosta DNS, aby połączyć się z instancją.
na przykład:
źródło
scp -r
.chmod 400 {keyfile}.pem
to, co amazon polecił i działa.źródło
Wygląda na to, że nie powinieneś używać adresu IP, ale pełną nazwę hosta systemu w poleceniu SCP. Dokumenty AWS opisują to na stronie http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html w sekcji „Przesyłanie plików do instancji Linux / Unix z Linux / Unix za pomocą SCP”.
I użyj
-r
do skopiowania katalogów.I pamiętaj, że domyślna nazwa użytkownika jest inna dla różnych obrazów:
Więc użyj tego polecenia:
źródło
„Odmowa uprawnień (publickey)” pochodzi ze zdalnego serwera, więc albo używasz niewłaściwego klucza, nie można się połączyć lub w zdalnym pliku kluczy autoryzowanych jest literówka.
źródło
i
źródło
ssh
polecenie (i jeśli to możliwe, podaj również odniesienie). BTW,chmod 400
udzielono odpowiedzi dziewięć miesięcy temu.