Google compute engine GCE-如果使用SSH或从终端登录,则使用不同的用户名?

Google compute engine GCE-如果使用SSH或从终端登录,则使用不同的用户名?,google-compute-engine,Google Compute Engine,我创建了一个没有任何内容的新项目 当我创建我的第一个微实例时,我做了以下工作 使用浏览器窗口SSH连接到它。 我明白了: 用户_name@instance-1:~$ 如果我使用gcloud命令连接: gcloud compute--项目“projectname-165421”ssh--区域“us-east1-b”“实例-1” 我被带到: username@instance-1:~$ 为什么会发生这种情况,我该如何解决 这是在创建两个独立的用户,这给我带来了很大的困惑 谢谢默认情况下,cloudS

我创建了一个没有任何内容的新项目

当我创建我的第一个微实例时,我做了以下工作

  • 使用浏览器窗口SSH连接到它。 我明白了:

    用户_name@instance-1:~$

  • 如果我使用gcloud命令连接:

    gcloud compute--项目“projectname-165421”ssh--区域“us-east1-b”“实例-1”

    我被带到:

    username@instance-1:~$

  • 为什么会发生这种情况,我该如何解决

    这是在创建两个独立的用户,这给我带来了很大的困惑


    谢谢

    默认情况下,cloudSDK将尝试使用运行该命令的用户进行连接

    如果你看看, 它说,您可以使用默认的ssh客户端像指定用户名一样指定用户名

    在您的计算机上的含义:

    gcloud compute --project "projectname-165421" ssh --zone "us-east1-b" "user_name@instance-1"
    
    或者,在浏览器窗口SSH中切换用户:

    sudo su username
    

    在回答一些评论时:,您可以更改默认用户名。这存储在环境变量$USER下。通过在本地终端中运行,可以查看此变量的当前值:

    echo $USER
    
    通过运行以下命令(假设您使用的是任何bash/zsh),可以将此变量的值设置为所需的默认用户:

    例如,如果新的所需默认用户是“pablo”,则:

    现在,每次在实例中对ssh运行以下命令时,都将ssh到pablo中:

    gcloud compute ssh MY_INSTANCE
    

    我希望这有帮助

    我使用此命令在MacOS上修复它:

    LOGNAME=ubuntu gcloud compute ssh app1
    

    有没有办法设置默认用户
    gcloud
    connects with?@AntonTarasenko我正在寻找这个问题的答案。我认为在我的gcloud配置中设置我的帐户可以帮我做到这一点。不幸的是,我仍然需要设置我的用户_name@instance连接时。
    gcloud compute ssh MY_INSTANCE
    
    LOGNAME=ubuntu gcloud compute ssh app1