通过遵循本教程,我已将LAMP堆栈部署到Azure中的虚拟机: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/tutorial-lamp-stack 全部启动并运行。但是,我不知道如何管理服务器上的文件和/或将文件复制/上传到服务器。
我可以使用Azure Cloud Shell ssh进入VM,但是如果我这样做的话,我似乎无权访问本地文件。因此,我在本地计算机上安装了Azure CLI,但是当我尝试打开与服务器的ssh会话时,我得到“权限被拒绝(公钥)”。
我研究了安全副本-scp,并尝试使用Putty和WinSCP连接到服务器,但是出现的错误是“没有可用的支持的身份验证方法(服务器发送:公钥)”
我是Apache的新手,只是不知道如何列出服务器上的文件或完全管理它们...
答案 0 :(得分:0)
使用安全副本“ scp”时,应注意一点。如果通过将用户设置为azureuser来创建Azure VM,则仅可以使用命令scp /path/file azureuser@domainName:/home/azureuser/filename
复制文件。因为您只有用户“ azureuser”的许可,所以无论您使用密码还是ssh公钥,都可以将文件从外部复制到vm目录/home/azureuser
。
更新
如果使用ssh公共密钥创建Azure VM,则需要将密钥存储在要连接VM的位置。例如,您要连接到本地Windows 10中的VM。密钥应存储在目录“ C:\Users\charlesx\.ssh
”中。这样,您也可以使用scp命令连接到VM。
答案 1 :(得分:0)
我通过使用puTTY和WinSCP解决了这个问题。之前我一直使用Azure Cloudshell命令创建VM并生成ssh密钥-因此我可以使用Cloudshell连接到VM,但是由于我不知道自动生成的密钥存储在哪里,所以无法连接在我的本地计算机上。
我的解决方案是通过Azure门户UI界面创建VM。我使用puTTYgen在本地计算机上生成ssh密钥对,然后在创建VM时将公钥输入到Azure UI中。在Azure中配置VM后,我可以使用puTTY连接到它,并以这种方式安装LAMP和任何其他命令行内容。
我还使用WinSCP将文件复制到我想要的位置-我可以使用scp在命令行中完成它,但是我是一个直观的人,能够查看已创建的目录结构非常有用。因此,将两者结合起来对我来说效果很好。