如何login无头远程服务器上的`firebase-tools`?

我试图通过Putty在远程Linux服务器上使用firebase-tools 。 此服务器上没有运行桌面。

当我运行firebase login ,我得到一个很长的URL,我需要复制/粘贴到任何其他设备的浏览器:

 https://accounts.google.com/o/oauth2/auth?client_id=xxxxxxxxxxxx.apps.googleusercontent.com&scope=email%20openid%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloudplatformprojects.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ffirebase%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&response_type=code&state=3kkd93kl&redirect_uri=http%3A%2F%2Flocalhost%3A9005 

我将其复制/粘贴到本地计算机的浏览器中,然后使用我的Google帐户进行身份validation,然后尝试将其redirect到

 http://localhost:9005/?state=25744816&code=4/mz..... 

这不是我的机器上运行的实际服务器,并且不是远程计算机的地址,甚至没有端口9005处于活动状态。

所以结果是terminal仍然在“等待authentication…”

我看到一个名为login:ci的命令,它表示它用于非交互式环境,但它看起来和login命令一样。

我如何解决这个问题?

    您可以使用firebase login --no-localhost – 屏幕截图1

    然后,它会提示您可以从任何浏览器(无论机器)访问的网址,如您的主机。

    像往常一样用您的Google帐户登录并接受权限请求。

    最后复制提供的授权码

    并将其粘贴回远程机器的终端。 你应该得到一个成功的消息。