【问题标题】: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


    【解决方案1】:

    您是否考虑过使用gcloud compute ssh cli?使用它,您可以通过提供 user@see user 参数来覆盖您正在登录的用户。

    [USER@]INSTANCE
    Specifies the instance to SSH into.
    USER specifies the username with which to SSH. If omitted, the user login name is used.
    
    INSTANCE specifies the name of the virtual machine instance to SSH into.
    

    见:https://cloud.google.com/sdk/gcloud/reference/compute/ssh

    另请参阅此线程,该线程似乎解释了如何使用标准 ssh 方法实现此目的:

    https://unix.stackexchange.com/questions/404116/how-to-login-with-ssh-as-a-specific-user

    【讨论】:

      【解决方案2】:

      您可以在本地创建一个 ssh 密钥(使用任何用户名),然后通过控制台将其公共 SSH 密钥添加到 GCP 项目或实例。只需将 ssh 文件放在您计划用于访问 VM 的每台计算机上,这将仅使用您在 SSH 密钥创建期间指定的用户名。

      有关如何在 Windows 和/或 gcloud CLI 上执行此操作,或将公共 SSH 密钥添加到项目或实例的说明,请遵循 Google Cloud 文档指南Managing SSH keys in metadata p>

      在 Linux 或 MacOS 工作站上,您可以使用 ssh-keygen 工具生成密钥。

      1. 在您的工作站上打开一个终端并使用 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] 是此密钥适用的用户。


      2. 限制对您的私钥的访问,以便只有您可以读取它并且 没有人可以给它写信。

        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 地址。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-10
        • 2013-12-05
        • 1970-01-01
        • 2018-07-30
        相关资源
        最近更新 更多