【问题标题】:How can I manage files on Ubuntu server VM on Azure?如何在 Azure 上管理 Ubuntu 服务器 VM 上的文件?
【发布时间】:2018-10-15 09:39:19
【问题描述】:

按照本教程,我已将 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 新手,完全不知道如何列出服务器上的文件或管理它们...

【问题讨论】:

  • 搜索词是“部署”,应该会给你提示。
  • 如果没有更多的说明,这实际上并没有多大帮助
  • 将代码放到机器上称为部署。使用该搜索词应该可以帮助您找到文档。抱歉,如果不清楚。

标签: azure virtual-machine ubuntu-16.04


【解决方案1】:

在使用安全副本“scp”时,有一点需要注意。如果创建 Azure VM 时将用户设置为 azureuser,则只需使用命令 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 命令。

【讨论】:

  • 我尝试在我的机器上本地运行 Azure CLI,但似乎拒绝访问服务器 - 我需要启用远程登录吗?
  • 如果你可以 ssh 进入虚拟机,你也可以 scp 文件到它。如果您可以详细说明您遇到的错误?
  • 我更新了问题以提供更多信息。 ssh - 可以使用云 CLI,但不能在本地使用。
  • 如果您使用公共 ssh 密钥,您应该以正确的方式存储密钥。它应该存储在您要使用的地方。例如,它也应该存储在您的本地计算机中。
【解决方案2】:

我通过使用 puTTY 和 WinSCP 解决了这个问题。在我使用 Azure Cloudshell 命令创建 VM 并生成 ssh 密钥之前,我可以使用 Cloudshell 连接到 VM,但由于我不知道自动生成的密钥存储在哪里,所以我无法连接在我的本地机器上。

我的解决方案是通过 Azure 门户 UI 界面创建 VM。我使用 puTTYgen 在本地机器上生成 ssh 密钥对,然后在创建 VM 时将公钥输入到 Azure UI。在 Azure 中配置 VM 后,我可以使用 puTTY 连接到它并以这种方式安装 LAMP 和任何其他命令行工具。

我还使用 WinSCP 将文件复制到我想要的位置 - 我可以使用 scp 命令行完成它,但我是一个视觉人,能够看到已创建的目录结构很有用.所以两者的结合对我来说效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-03
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    相关资源
    最近更新 更多