Как загрузить локальные файлы в виртуальную машину Azure Linux? - моя машина для Azure VM
Я создал виртуальную машину Azure Ubuntu 16.04 VM и установил LAMP, теперь я хотел бы загрузить файлы своего проекта на виртуальную машину Azure. Как это сделать? У меня есть текст открытого ключа SSH. Могу ли я заархивировать это через ssh?
разрешены входящие правила для HTTP, https и ssh.
Шаг 1:
$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar
Ошибка:
Permission denied (publickey)
Шаг 2:
scp -i ~/.ssh/id_rsa.pub /var/www/html azureuser@sample.region.cloudapp.azure.com:phpinfo.php /var/www/html
Ошибка:
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)
Шаг 3:
ssh-copy-id -i ~/.ssh/id_rsa.pub azureuser@sample.region.cloudapp.azure.com`
примечание: он добавляет ключ в VM `/home/.ssh/authorized_keys
Ошибка:
cp: omitting directory '/var/www/html'
Enter passphrase for key '/home/azureuser/.ssh/authorized_keys':
Permission denied (publickey)
Шаг 4: повторите попытку с опцией -r
azureuser@myVM:~$ scp -r /var/www/html azureuser@sample.region.cloudapp.azure.com:phpinfo.php /var/www/html
Ошибка:
cp: cannot copy a directory, '/var/www/html', into itself, '/var/www/html/html'
Permission denied (publickey).
1 ответ
Сегодня была такая же ошибка, я решил ее с помощью этой команды (чтобы не пытаться напрямую добавить ее в конкретную папку, а затем переместить):
scp -r myFile.jar username@hostname:~/.
Надеюсь, это кому-то поможет...
Предполагая, что вы сами находитесь в среде * nix, можете ли вы подключиться к серверу ssh с открытым ключом?
user@mypc:> ssh azureuser@sample.region.cloudapp.azure.com
Предполагая, что это успешно, убедитесь, что у вашего пользователя есть права на запись в эту папку, если нет, вы можете добавить своего пользователя в группу пользователей веб-сервера: usermod -aG www-data azureuser
замена "www-data" на любую группу, которой принадлежит папка / var / www / html
После сортировки разрешений должно работать что-то вроде следующего:
user@mypc:> scp -r ./folder azureuser@sample.region.cloudapp.azure.com:/var/www/html
или же
user@mypc:> scp ./index.html azureuser@sample.region.cloudapp.azure.com:/var/www/html/