2013-07-03 2 views
17

Ich versuche, eine Datei auf eine ec2-Instanz zu übertragen. Ich in der Dokumentation von Amazon folgte, ist das, was mein Befehl aussah:Das Übertragen einer Datei an eine Amazon ec2-Instanz mit scp gibt mir immer die Berechtigung verweigert (publickey, gssapi-with-mic)

scp -i [the key's location] Documents/[the file's location] [email protected][public dns]:[home/[destination]] 

, wo ich alle Variablen mit den richtigen Dinge ersetzt, ich bin sicher, dass es der richtige Schlüssel, und es hat die Erlaubnis 400. Wenn ich den Befehl aufrufen , sagt es mir den RSA-Schlüssel Fingerabdruck, fragt mich, ob ich weiter verbinden möchte. Ich tippe ja und es antwortet mit

Permission denied (publickey,gssapi-with-mic) 
lost connection 

ich bei vielen anderen ähnlichen Fragen auf Stack-Überlauf ausgesehen haben und kann nicht eine richtige Art und Weise zu tun, es finden.

auch SSH-Verkehr auf Port aktiviert 22.

+1

ich herausgefunden habe, was ich falsch mache, anfangs hatte ich den Namen des Benutzers (in diesem Fall seqware) statt EC2-Benutzer, die mir gegeben haben das gleiche, aber wenn ich das mit root @ publicdns ersetzte, funktionierte es – Amre

Antwort

15

Das Beispiel amazon sind korrekt. Es klingt wie ein Ordnerberechtigungs-Problem. Wenn Sie den Ordner erstellt haben, mit dem Sie versuchen, mit einem anderen Benutzer zu kopieren, oder wenn ein anderer Benutzer sie erstellt hat, haben Sie wahrscheinlich keine Berechtigungen zum Kopieren oder Bearbeiten.

Wenn Sie sudo-Fähigkeiten haben, können Sie versuchen, den Zugriff für sich selbst zu öffnen. Obwohl nicht auf diese Weise verlassen wird empfohlen, können Sie diesen Befehl versuchen:

sudo chmod 777 /folderlocation 

Die komplette Lese gibt/Schreiben/ausführbare Berechtigungen für jedermann (daher, warum Sie es bei 777 nicht verlassen sollen), aber es euch geben wird, die Möglichkeit, Ihren scp-Befehl zu testen, um Berechtigungen auszuschließen.

Danach, wenn Sie nicht mit Berechtigungen vertraut sind, schlage ich vor, Sie lesen es auf. Dies ist ein Beispiel: http://www.tuxfiles.org/linuxhelp/filepermissions.html Es wird generell empfohlen, den Ordner so weit wie möglich zu sperren, abhängig von der Art der darin enthaltenen Informationen.

Wenn das nicht die Ursache einige andere Dinge, war Sie vielleicht prüfen:

  • Sie in das Verzeichnis Ihrer Schlüssel sind, wenn die Ausführung der ‚scp -i keyname‘ Befehl?
  • Haben Sie Berechtigungen, den Ordner zu verwenden, von dem Sie übertragen?

Viel Glück.

0

Might be one verwendet falschen Benutzernamen. Passiert mir, war der gleiche Fehler msg -> Berechtigung verweigert (publickey, gssapi-keyex, gssapi-with-mic). Verbindung verloren

5

Das Problem kann der Benutzername sein. Ich kopierte eine Datei in meiner Amazon-Instanz und zunächst versucht, den Befehl zu verwenden:

scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test [email protected]:~ 

und bekam den Fehler: Zugriff verweigert (publickey).

Dann habe ich gemerkt, dass mein Beispiel eine Ubuntu-Umgebung ist und der Benutzer Benutzer ist dann der richtige Befehl „ubuntu“ die für mich gearbeitet, dann wird:

scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test [email protected]:~ 

Die Datei „empty.test“ ist ein Text Datei mit dem Text "Testen ...". Ersetzen Sie die Adresse Ihres virtuellen Servers durch die richtige Adresse für das öffentliche DNS Ihrer Instanz. Ich habe die IP zu meiner Instanz mit xx.yy.zz.tt ersetzt.

-1

Hierzu wird der genaue Befehl lautet: scp -i <.pem_file_path> <file_path> <user>@<host>:/<path>

Verwandte Themen