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 [email protected]:/some/remote/directory/bar

Error:

Permission denied (publickey)

Schritt 2:

scp -i ~/.ssh/id_rsa.pub /var/www/html [email protected]: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 [email protected]`

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 [email protected]:phpinfo.php /var/www/html

Error:

cp: cannot copy a directory, '/var/www/html', into itself, '/var/www/html/html'
Permission denied (publickey).
151291
quelle
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 [email protected]

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 [email protected]:/var/www/html

oder

user@mypc:> scp ./index.html [email protected]:/var/www/html/
Bennett
quelle
Vielleicht lohnt es sich, so etwas zuerst als Test zu versuchen: Auf user@mypc:> scp ./testfile.txt [email protected]:~/ diese Weise wird die Authentifizierung mit öffentlichen Schlüsseln nicht mehr zum Problem.
Bennett