配置可供多个用户访问的云虚拟机

配置可供多个用户访问的云虚拟机

我是一名大学计算机科学教授。我想拥有一个所有学生都可以连接的远程服务器。当我拥有硬件时,这非常容易实现。只需在我的服务器上创建用户帐户并赋予他们我想要的权限(对一个文件夹中的文件的读/写访问权限、数据库连接),然后向学生提供凭据。很简单。非常简单。

在任何主流云平台上,这似乎都不可能实现。我尝试过 GCP、AWS 和 Azure。我阅读了大量文档,却找不到任何与我的用例相近的东西。所有“用于教育”的功能都迫使你基本上每个学生拥有一台机器,而不是一台所有学生都可以访问的机器。我尝试过在云中使用普通虚拟机(而不是“用于教育”),但这似乎也无法按照我想要的方式进行配置。我只想将用户帐户添加到虚拟机并让学生登录。但要真正授予对虚拟机的登录访问权限,似乎学生需要在该云服务上拥有一个帐户,并且我必须授予他们的帐户对我创建的虚拟机的管理访问权限,而我不想这样做。我遗漏了什么?

答案1

云虚拟机在很多方面与本地服务器相同。Linux 服务器就是 Linux 服务器,Windows 就是 Windows。只需登录您的服务器并像配置其他服务器一样对其进行配置即可。我在 AWS 上对我的 Ubuntu Linux 服务器进行了同样的操作。

如果您需要更多帮助,建议您写一个更详细、更精确的问题,说明您尝试过什么以及什么没有奏效,然后我们可以帮助您解决个别问题。

答案2

我们假设是 SSH,其他协议会有所不同。用户向您提供 SSH 公钥。(您不需要查看他们的私钥。)将其配置为个人、非特权(非 root、非 sudo)用户的凭证。

如何实现这一点取决于您的组织可用的用户身份系统。这可能不是您的云提供商的服务,您可以根据自己喜欢的任何内容进行身份验证。

手动解决方案可能是您在服务器上创建本地用户并上传他们的~/.ssh/authorized_keys。维护起来很繁琐,用户没有自助服务选项。

Google Cloud 已操作系统登录您可以授予任何 Google 帐户(个人或托管)使用其个人 ssh 密钥访问实例的权限。被授予该roles/compute.osLogin角色的用户没有特权,因此他们没有 sudo。可能仅当您的组织已经授予 Google 帐户、Workspace 域或 Cloud Identity 权限时才有意义。

或者您可能拥有一个不属于云提供商的身份系统。例如,FreeIPA 可以存储 ssh 密钥,并将其与主机上的 ssh 身份验证集成。如果身份系统尚不存在,则同样需要做一些工作来部署它。

相关内容