Wie lade ich lokale Dateien auf eine Azure Linux-VM hoch? - Mein Rechner auf Azure VM


0

Ich habe Azure Ubuntu Server 16.04 VM erstellt und LAMP installiert. Jetzt möchte ich meine Projektdateien auf Azure VM hochladen. Wie kann ich das? Ich habe SSH-Public-Key-Text dabei. Kann ich das mit ssh archivieren?

Eingehende Regeln für HTTP, https und ssh wurden aktiviert.

Schritt 1:

$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar

Error:

Permission denied (publickey)

Schritt 2:

scp -i ~/.ssh/id_rsa.pub /var/www/html azureuser@sample.region.cloudapp.azure.com:phpinfo.php /var/www/html

Error:

cp: omitting directory '/var/www/html'
Warning: Identity file /home/azureuser/.ssh/id_rsa.pub not accessible: No such file or directory.
Permission denied (publickey)

Schritt 3:

ssh-copy-id -i ~/.ssh/id_rsa.pub azureuser@sample.region.cloudapp.azure.com`

Hinweis: Der Schlüssel wird in VMs `/home/.ssh/authorized_keys angehängt

Error:

cp: omitting directory '/var/www/html'
Enter passphrase for key '/home/azureuser/.ssh/authorized_keys':
Permission denied (publickey)

Schritt 4: Versuchen Sie es erneut mit der Option -r

azureuser@myVM:~$ scp -r /var/www/html azureuser@sample.region.cloudapp.azure.com:phpinfo.php /var/www/html

Error:

cp: cannot copy a directory, '/var/www/html', into itself, '/var/www/html/html'
Permission denied (publickey).

Verwenden Sie die -iOption für den scpBefehl und geben Sie den vollständigen Pfad zu Ihrem privaten SSH-Schlüssel für diese Option an
Alex

@Alex - es gibt Fehler, aktualisiert meine Frage.
151291

@ 151291, fügen Sie Ihrem Befehl die Option "-r" hinzu und kopieren Sie ein Verzeichnis und seinen Inhalt.
Nancy Xiong

@ Alex -cp: cannot copy a directory, '/var/www/html', into itself, '/var/www/html/html' Permission denied (publickey).
151291

1
@ 151291 Die Schlüssel sollten paarweise geliefert werden. Der private Schlüssel wird normalerweise als ~ / .ssh / id_rsa-Datei gespeichert.
Nancy Xiong

Antworten:


0

Angenommen, Sie befinden sich in einer * nix-Umgebung. Können Sie mit der öffentlichen Schlüsselauthentifizierung auf den Server sshen?

user@mypc:> ssh azureuser@sample.region.cloudapp.azure.com

Angenommen, dies ist erfolgreich, stellen Sie sicher, dass Ihr Benutzer Schreibrechte in diesem Ordner hat. Andernfalls können Sie Ihren Benutzer der Webserver-Benutzergruppe hinzufügen: usermod -aG www-data azureuser Ersetzen Sie "www-data" durch die Gruppe, der der Ordner / var / www / html gehört

Sobald die Berechtigungen sortiert sind, sollte Folgendes funktionieren:

user@mypc:> scp -r ./folder azureuser@sample.region.cloudapp.azure.com:/var/www/html

oder

user@mypc:> scp ./index.html azureuser@sample.region.cloudapp.azure.com:/var/www/html/

Vielleicht lohnt es sich, so etwas zuerst als Test zu versuchen: Auf user@mypc:> scp ./testfile.txt azureuser@sample.region.cloudapp.azure.com:~/ diese Weise wird die Authentifizierung mit öffentlichen Schlüsseln nicht mehr zum Problem.
Bennett
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.