it-swarm.com.de

Verwenden von scp zum Kopieren einer Datei in eine Amazon EC2-Instanz?

Ich versuche, mein Mac Terminal zu verwenden, um eine Datei von Downloads (phpMyAdmin, die ich online heruntergeladen habe) in meine Amazon EC2-Instanz zu scpfen. 

Der Befehl, den ich verwendete, war:

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz  [email protected]:~/.

Der Fehler, den ich erhielt: Warnung: Identitätsdatei myAmazonKey.pem nicht zugänglich: Keine solche Datei oder Verzeichnis .. Keine Berechtigung verweigert (publickey) .. __ Verbindung verloren

Sowohl mein myAmazonkey.pem als auch phpMyAdmin-3.4.5-all-languages.tar.gz sind in Downloads, also habe ich es versucht 

scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz  [email protected]:~/.

und der Fehler, den ich erhielt: Warnung: Identitätsdatei /User/Hello_Kitty22/Downloads/myAmazonkey.pem nicht zugänglich: Keine solche Datei oder Verzeichnis. . Berechtigung abgelehnt (publickey) . verlorene Verbindung

Kann mir bitte jemand sagen, wie ich mein Problem beheben kann?

p.s. Es gibt einen ähnlichen Beitrag: scp (sichere Kopie) an die ec2-Instanz ohne Kennwort Er beantwortet jedoch meine Frage nicht. 

161
HoKy22

Versuchen Sie, den Benutzer als ec2-user anzugeben, z.

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.

Siehe Verbindung zu Linux/UNIX-Instanzen mithilfe von SSH herstellen.

323
W.P. McNeill

zweites Verzeichnis ist Ihr Ziel, verwenden Sie dort nicht den Servernamen. Mit anderen Worten, Sie müssen keinen Computernamen für den Computer angeben, auf dem Sie sich gerade befinden.

scp -i /path/to/your/.pemkey -r /copy/from/path [email protected]:/copy/to/path

-r wenn es ein Verzeichnis ist.

25
Syed Priom

Ihr Schlüssel darf nicht öffentlich sichtbar sein, damit SSH funktioniert. Verwenden Sie diesen Befehl bei Bedarf:

chmod 400 yourPublicKeyFile.pem
16
Castelmager

Sie sollten sich auf Ihrem lokalen Rechner befinden, um den obigen Befehl scp auszuführen.

Versuchen Sie es auf Ihrem lokalen Rechner:

scp -i ~/Downloads/myAmazonKey.pem ~/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz  [email protected]:~/.
10
DV Dasari

Hier sind die Details, was für eine EC2 - Instanz funktioniert:

scp -i /path/to/whatever.pem /users/me/path-to-file [email protected]:~

Einige Anmerkungen für den Anfang:

  1. Beachten Sie die Leerzeichen zwischen den drei Parametern, die nach dem -i angegeben werden.
  2. scp steht für sicheres Kopierprotokoll. Die Kenntnis der Wörter erleichtert das Erinnern an den Befehl.
  3. -i schreibt vor, dass Sie die .pem-Datei als nächsten Parameter angeben müssen. Wenn kein -i vorhanden ist, benötigen Sie keinen .pem.
  4. Beachten Sie den :~ am Ende des Ziels für die EC2-Instanz. 
6
Forrest

Ich hatte genau das gleiche Problem, meine Lösung war zu

scp -i /path/pem -r /path/file/ [email protected] aws dns name: (hier leer lassen) 

wenn Sie diesen Teil abgeschlossen haben, gelangen Sie in den SSH-Server und die MV-Datei an den gewünschten Ort

5
scp -i ~/path to pem file/file.pem -r(for directory) /PATH OF LOCAL/localfile [email protected]:PATH OF SERVER/serverdirectory
3
Prafull

Datei vom lokalen zum Server senden:

scp -i .ssh/awsinstance.pem my_local_file [email protected]:/home/ubuntu

Datei vom Server auf Local herunterladen:

scp -i .ssh/awsinstance.pem [email protected]:/home/ubuntu/server_file.

2
Viraj.Hadoop

Überprüfen Sie die Berechtigungen für die .pem-Datei ... openssh mag normalerweise keine für die Welt lesbaren privaten Schlüssel und schlägt fehl (iir, scp liefert dem Benutzer dieses Feedback nicht besonders gut).

Können Sie mit diesem Schlüssel einfach zu Ihrem AWS-Host ssh?

0
Bryan Stenson

Zuerst sollten Sie den Modus der .pem-Datei vom Lese- und Schreibmodus in den Nur-Lese-Modus ändern. Dies kann nur durch einen einzigen Befehl im Terminal Sudo chmod 400 your_public_key.pem erfolgen.

0
Shravan40

Das folgende SCP-Format funktioniert für mich

scp -i /path/my-key-pair.pem [email protected]:~/SampleFile.txt ~/SampleFile2.txt

SampleFile.txt : Dies ist der Pfad aus Ihrem Stammverzeichnis (In meinem Fall/home/ubuntu). In meinem Fall war die Datei, die ich herunterladen wollte, unter/var/www

SampleFile2.txt : Dies ist der Pfad des Root-Pfads Ihrer Maschine (In meinem Fall/home/MyPCUserName)

Also muss ich unter dem Befehl schreiben

scp -i /path/my-key-pair.pem [email protected]:~/../../var/www/Filename.Zip ~/Downloads
0
Vatsal Shah

Die Verwendung von SCP zum Kopieren von Dateien von einem lokalen Computer auf eine AWS EC2 Linux-Instanz wird Schritt für Schritt (einschließlich der unten genannten Punkte) in diesem Video beschrieben.

So beheben Sie dieses spezielle Problem bei der Verwendung von SCP:

  1. Sie müssen den richtigen Linux-Benutzer angeben. Von Amazon :

    • Bei Amazon Linux lautet der Benutzername ec2-user. 
    • Bei RHEL lautet der Benutzername ec2-user oder root. 
    • Bei Ubuntu lautet der Benutzername Ubuntu oder Root. 
    • Für Centos lautet der Benutzername Centos. 
    • Bei Fedora lautet der Benutzername ec2-user. 
    • Bei SUSE lautet der Benutzername ec2-user oder root. 
    • Wenn ec2-user und root nicht funktionieren, wenden Sie sich an Ihren AMI-Provider. 
  2. Ihr privater Schlüssel darf nicht öffentlich sichtbar sein. Führen Sie den folgenden Befehl aus, damit nur der Root-Benutzer die Datei lesen kann.

    chmod 400 /path/to/yourKeyFile.pem
    
0

Ich habe alle oben genannten Vorschläge ausprobiert und nichts hat funktioniert. Ich beendete die aktuelle Instanz, startete eine weitere Instanz und wiederholte genau diesen Vorgang. Diesmal keine Probleme. Manchmal liegt es möglicherweise an der entfernten AMI. 

0
Marie D.