Google cloud platform 在我SSH到GCP计算引擎时不创建新用户

Google cloud platform 在我SSH到GCP计算引擎时不创建新用户,google-cloud-platform,google-compute-engine,Google Cloud Platform,Google Compute Engine,我正在为我的flask应用程序使用GCP计算引擎(Ubuntu18.04)。我在设置Flask和Python环境时没有遇到任何问题。 我的问题是,当我使用SSH连接到实例中时,将使用我正在使用的计算机的用户名创建一个新用户。当我从另一个系统或我的同事尝试登录SSH时,会创建一个新用户,该用户使用的是已使用的计算机的用户名。我不想要这种行为。我想一直登录到单个用户。您考虑过使用gcloud compute sshcli吗?使用此选项,您可以通过提供user@see user参数来覆盖您登录的用户

我正在为我的flask应用程序使用GCP计算引擎(Ubuntu18.04)。我在设置Flask和Python环境时没有遇到任何问题。
我的问题是,当我使用SSH连接到实例中时,将使用我正在使用的计算机的用户名创建一个新用户。当我从另一个系统或我的同事尝试登录SSH时,会创建一个新用户,该用户使用的是已使用的计算机的用户名。我不想要这种行为。我想一直登录到单个用户。

您考虑过使用
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.
见:

另请参阅此线程,它似乎解释了如何使用标准ssh实现这一点:


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

有关如何在Windows和/或gcloud CLI上执行此操作的说明,或向项目或实例添加公共SSH密钥的说明,请遵循《谷歌云文档指南》

LinuxMacOS工作站上,可以使用ssh-keygen工具生成密钥

  • 在工作站上打开终端并使用ssh-keygen命令 生成一个新的密钥。指定-C标志以添加注释 你的用户名

    ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]
    
    其中:

    • [KEY\u FILENAME]是要用于SSH密钥文件的名称。例如,文件名my ssh key会生成 名为我的ssh密钥的私钥文件和名为 我的ssh密钥.pub
    • [USERNAME]是连接到实例的用户的用户名

    此命令生成一个私有SSH密钥文件和一个匹配的公共SSH密钥文件 具有以下结构的SSH密钥:

    其中:

    • [关键值]是您生成的关键值
    • [USERNAME]是应用此密钥的用户

  • 限制对私钥的访问,以便只有您可以读取和 没有人能写信给它

    chmod 400 ~/.ssh/[KEY_FILENAME]
    
    其中:

    • [KEY\u FILENAME]是用于SSH密钥文件的名称
  • 然后,找到您制作的公共SSH密钥和/或要添加到项目或实例的任何现有公共SSH密钥。通过编辑指南中描述的相应元数据,将这些键添加到GCP项目或实例

    现在,您可以使用您创建的私有SSH密钥从机器SSH到这些GCP资源

    ssh [USERNAME]@[IP_ADDRESS]
    
    其中:

    • [USERNAME]是您在步骤1中创建SSH密钥期间指定的用户名
    • [IP_ADDRESS]是您打算通过SSH连接到的GCP实例的IP地址
    ssh [USERNAME]@[IP_ADDRESS]