【问题标题】:Not to create a new user when I SSH into GCP compute engineSSH 进入 GCP 计算引擎时不创建新用户
【发布时间】:2019-12-11 10:36:29
【问题描述】:
我正在为我的烧瓶应用程序使用 GCP 计算引擎 (Ubuntu 18.04)。我在设置 Flask 和 Python 环境时没有任何问题。
我的问题是,当我通过 SSH 连接到实例时,会使用我正在使用的计算机的用户名创建一个新用户。当我从其他系统进行 SSH 或我的一位同事尝试登录时,正在使用已使用的计算机的用户名创建一个新用户。我不想要这种行为。我想一直登录到单个用户。
【问题讨论】:
标签:
google-cloud-platform
google-compute-engine
【解决方案2】:
您可以在本地创建一个 ssh 密钥(使用任何用户名),然后通过控制台将其公共 SSH 密钥添加到 GCP 项目或实例。只需将 ssh 文件放在您计划用于访问 VM 的每台计算机上,这将仅使用您在 SSH 密钥创建期间指定的用户名。
有关如何在 Windows 和/或 gcloud CLI 上执行此操作,或将公共 SSH 密钥添加到项目或实例的说明,请遵循 Google Cloud 文档指南Managing SSH keys in metadata p>
在 Linux 或 MacOS 工作站上,您可以使用 ssh-keygen 工具生成密钥。
-
在您的工作站上打开一个终端并使用 ssh-keygen 命令
生成新密钥。指定 -C 标志以添加注释
你的用户名。
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]
地点:
-
[KEY_FILENAME] 是您要用于 SSH 密钥文件的名称。例如,my-ssh-key 的文件名会生成一个
名为 my-ssh-key 的私钥文件和名为
my-ssh-key.pub。
-
[USERNAME] 是连接到实例的用户的用户名。
此命令生成一个私有 SSH 密钥文件和一个匹配的公共
具有以下结构的 SSH 密钥:
ssh-rsa [KEY_VALUE] [USERNAME]
地点:
-
[KEY_VALUE] 是您生成的键值。
-
[USERNAME] 是此密钥适用的用户。
-
限制对您的私钥的访问,以便只有您可以读取它并且
没有人可以给它写信。
chmod 400 ~/.ssh/[KEY_FILENAME]
在哪里:
-
[KEY_FILENAME] 是您用于 SSH 密钥文件的名称。
然后,找到您创建的公共 SSH 密钥和/或您想要添加到项目或实例的任何现有公共 SSH 密钥。按照 Managing SSH keys in metadata 指南中的说明编辑相应的元数据,将这些密钥添加到 GCP 项目或实例。
您现在可以使用您创建的 SSH 私钥从机器上通过 SSH 连接到这些 GCP 资源。
ssh [USERNAME]@[IP_ADDRESS]
地点:
-
[USERNAME] 是您在步骤 1 中创建 SSH 密钥时指定的用户名。
-
[IP_ADDRESS] 是您打算通过 SSH 访问的 GCP 实例的 IP 地址。