如何将本地文件上传到 Azure Linux VM? - 我的机器到 Azure VM

如何将本地文件上传到 Azure Linux VM? - 我的机器到 Azure VM

我创建了 Azure Ubuntu 服务器 16.04 VM 并安装了 LAMP,现在我想将我的项目文件上传到 Azure VM,我该怎么做?我有 SSH 公钥文本。我可以通过 ssh 存档它吗?

启用 HTTP、https 和 ssh 的入站规则。

步骤1:

scp -r foo [email protected]:/some/remote/directory/bar

错误:

Permission denied (publickey)

第2步:

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

注意:它将密钥附加到虚拟机的“/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 [email protected]: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:~/.

希望这能够帮助到别人...

答案2

假设您自己处于 *nix 环境中,您是否能够使用公钥验证通过 ssh 连接到服务器?

ssh [email protected]

假设成功了,请确保您的用户有权在该文件夹中写入,如果没有,您可以将您的用户添加到 Web 服务器用户组:usermod -aG www-data azureuser 将“www-data”替换为拥有文件夹 /var/www/html 的任何组

一旦权限被排序,类似下面的操作就可以工作:

scp -r ./folder [email protected]:/var/www/html

或者

scp ./index.html [email protected]:/var/www/html/

相关内容