是否可以通过ssh使用Google Cloud Shell?

时间:2016-12-25 21:39:49

标签: google-cloud-shell

是否可以通过ssh连接到Google Cloud Shell实例?也许以某种方式与gcloud?所以我可以将它用于我最喜欢的终端(特别是iTerm)而不是基于Web的shell。

5 个答案:

答案 0 :(得分:25)

如果您开发或管理在Google Cloud Platform(GCP)上运行的应用,您可能熟悉Cloud Shell,这是一个按需交互式shell环境,其中包含各种预安装的开发人员工具。到目前为止,您只能从浏览器访问Cloud Shell。

自3月19日以来,您可以使用gcloud命令行工具直接从终端连接到Cloud Shell。

启动SSH会话只需一个命令:

erik@localhost:~$ ls
Desktop
erik@localhost:~$ gcloud alpha cloud-shell ssh
Welcome to Cloud Shell! Type "help" to get started.
erik@cloudshell:~$ ls
server.py  README-cloudshell.txt

您还可以使用gcloud在Cloud Shell和本地计算机之间复制文件:

erik@localhost:~$ gcloud alpha cloud-shell scp cloudshell:~/data.txt localhost:~
data.txt                                           100% 1897    28.6KB/s   00:00
erik@localhost:~$

如果您使用的是Mac或Linux,则可以在安装sshfs后将Cloud Shell主目录安装到本地文件系统中。这允许您使用所需的任何本地工具编辑Cloud Shell主目录中的文件!远程安装的文件系统中的所有数据都存储在Persistent Disk上,因此它在会话和区域之间快速,高度一致并保留。

erik@localhost:~$ gcloud alpha cloud-shell get-mount-command ~/my-cloud-shell
sshfs ekuefler@35.197.73.198: /home/ekuefler/my-cloud-shell -p 6000 -oIdentityFile=/home/ekuefler/.ssh/google_compute_engine
erik@localhost:~$ sshfs ekuefler@35.197.73.198: /home/ekuefler/my-cloud-shell -p 6000 -oIdentityFile=/home/ekuefler/.ssh/google_compute_engine
erik@localhost:~$ cd my-cloud-shell
erik@localhost:~$ ls
server.py  README-cloudshell.txt
erik@localhost:~$ vscode server.py

我们相信您会发现这些功能有很多用途,但这里有一些可以帮助您入门:

  • 将其用作游乐场 - 利用工具和语言 运行时安装在Cloud Shell中,无需进行快速实验 必须在您的机器上安装软件。
  • 将其用作沙箱 - 在云中安装或运行不受信任的程序 外壳没有损坏本地机器或读取的风险 您的数据,或避免使用您的程序污染您的机器 很少需要跑。
  • 将其用作便携式开发环境 - 存储文件 您的Cloud Shell主目录并使用您喜欢的内容编辑它们 IDE,当你在办公桌前,然后继续处理相同的文件 之后来自使用网络终端的Chromebook和editor

命令行界面的完整文档可用here。 cloud-shell命令组目前处于alpha状态,因此我们仍在对其进行更改,并通过documentation page底部的反馈链接欢迎您提供反馈和建议。

答案 1 :(得分:1)

不,你不能。至少它没有记录在任何地方。但是,您可以使用支持按键登录的任何ssh客户端启动您自己的Google Compute Engine实例并将其转换为ssh。

更新:这个答案现已过时 - 请参阅@ Pentium10的答案

答案 2 :(得分:1)

。在gcloud CLI中,运行gcloud alpha cloud-shell ssh。这将与Cloud Shell建立交互式SSH会话。

请注意,一旦此功能从Alpha毕业,此命令可能会更改。

参考:

答案 3 :(得分:0)

您可以从云端shell连接到vpn,将所需的二进制文件放在主目录中,并在.bashrc文件的顶部写入必要的启动脚本(连接到vpn并启动守护程序等),以便它从浏览器启动shell时执行。

我还建议使用mosh becasue路由这种方式非常糟糕,并且可能运行ssh cipherless,因为vpn已经加密。

你也可以通过心跳来保持shell的存活,但是在滥用地区这可能太多了,云壳的固定标签对我来说似乎已经足够了。

答案 4 :(得分:0)

是的,您可以通过 3 个简单的步骤做到这一点:

  1. 在本地系统中打开一个终端
  2. 安装 google-cloud-sdk:sudo snap install google-cloud-sdk --classic
  3. 使用您的 Google 帐户对 google-cloud-sdk 进行身份验证:gcloud auth login 注意:运行此命令后,您的默认浏览器将打开并要求您进行身份验证
  4. 的autherization后,返回到终端,运行以下commad以访问到外壳: gcloud cloud-shell ssh 注意:如果您是第一次执行此操作,它可能会引导您创建 ssh 密钥,如果发生了,在我的情况下,我会继续使用空密码
  5. 因此,无论何时需要该云外壳,只需运行:gcloud cloud-shell ssh