Ich habe versucht, eine SSH-Verbindung zu meinem AWS Ubuntu-Server herzustellen und das Verzeichnis auf meinen lokalen Computer zu kopieren. Während des gesamten Vorgangs treten verschiedene Dateiberechtigungsfehler auf (siehe unten).
Gibt es eine bestimmte Dateiberechtigung für die .pem-Datei, die es mir ermöglicht, SSH und SCP auszuführen?
Oder muss ich die Dateiberechtigung zweimal ändern - einmal für SSH und einmal für SCP, nachdem ich mich angemeldet habe?
Hier sind die Befehle, die ich benutze:
SSH:
ssh -i sentiment.pem [email protected]
Kopieren von Remote auf lokalen Computer mit:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Ich arbeite auf einem Mac OS X 10.7.5.
Versuch und Irrtum:
1.) Nachdem ich die .pem-Datei zum ersten Mal heruntergeladen hatte, wurden die Berechtigungen auf I THINK: 0644 gesetzt
-rw-r - r - @ 1 Toga-Mitarbeiter 1692 18. Februar 21:27 sentiment.pem
Ich habe dann versucht, über Terminal SSH und Folgendes erhalten:
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.) Ich habe die Dateiberechtigungen aktualisiert auf: chmod 660 sentiment.pem
Nach dem Update wurden die Berechtigungen auf Folgendes festgelegt:
-rw-rw ---- @ 1 Toga-Mitarbeiter 1692 18. Februar 21:27 sentiment.pem
Ich habe dann versucht, über Terminal SSH und Folgendes erhalten:
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.) Ich habe die Dateiberechtigungen aktualisiert auf: chmod 600 sentiment.pem
Nach dem Update wurden die Berechtigungen auf Folgendes festgelegt:
-rw ------- @ 1 Toga-Mitarbeiter 1692 18. Februar 21:27 sentiment.pem
Ich habe dann versucht, über Terminal SSH und war erfolgreich!
4.) Jetzt angemeldet, führe ich den Befehl a aus, um das Remote-Verzeichnis auf meinen lokalen Computer zu kopieren:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Welches gibt zurück:
Permission denied (publickey).
Versuchte SCP-Befehle:
1.) fügte den Befehl -i hinzu und verwies auf die .pem-Datei:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Users / Toga / Desktop / sentimentlocal
2.) fügte den Befehl -i hinzu, verwies auf die .pem-Datei und änderte den Benutzer für AWS in ec2-user:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Users / Toga / Desktop / sentimentlocal
3.) fügte den Befehl -i hinzu, verwies auf das .pem-File, änderte den Benutzer für AWS in ec2-user und fügte den vollständigen Dateipfad für den Speicherort der .pem-Datei hinzu:
scp -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]: / home / ubuntu / sentiment / Users / Toga / Desktop / sentimentlocal
quelle
Antworten:
Besuchen Sie hier So stellen Sie über SSH eine Verbindung zu Amazon EC2 über Remotezugriff her, oder lesen Sie unten nach.
So stellen Sie über SSH eine Remote-Verbindung zu Amazon EC2 her:
Erstellen Sie ein Verzeichnis:
Verschieben Sie die heruntergeladene .pem-Datei in das soeben erstellte .ssh-Verzeichnis:
Ändern Sie die Berechtigungen der PEM-Datei so, dass nur der Root-Benutzer sie lesen kann:
Erstellen Sie eine Konfigurationsdatei:
Geben Sie den folgenden Text in die Konfigurationsdatei ein:
Speichern Sie diese Datei.
Verwenden Sie den Befehl ssh mit Ihrem öffentlichen DNS-Hostnamen, um eine Verbindung zu Ihrer Instanz herzustellen.
z.B:
quelle
scp -r
.chmod 400 {keyfile}.pem
ist, was Amazon angewiesen hat und es funktioniert.quelle
Es scheint, dass Sie nicht die IP-Adresse, sondern den vollständigen Hostnamen des Systems im SCP-Befehl verwenden sollen. In den AWS-Dokumenten wird dies unter http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html im Abschnitt "Übertragen von Dateien auf Linux / Unix-Instanzen von Linux / Unix mit SCP" beschrieben.
Und
-r
zum Kopieren von Verzeichnissen verwenden.Beachten Sie, dass der Standardbenutzername für verschiedene Bilder unterschiedlich ist:
Also benutze diesen Befehl:
quelle
Die "Berechtigung verweigert (publickey)" stammt vom Remote-Server. Sie verwenden also entweder den falschen Schlüssel, dürfen keine Verbindung herstellen, oder die Datei remote authorized_keys enthält einen Tippfehler.
quelle
und
quelle
ssh
Befehl (und geben Sie, falls möglich, eine Referenz an). Übrigenschmod 400
wurde das in einer Antwort vor neun Monaten zur Verfügung gestellt.