是否可以通过ssh连接到Google Cloud Shell实例?也许以某种方式与gcloud?所以我可以将它用于我最喜欢的终端(特别是iTerm)而不是基于Web的shell。
答案 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
我们相信您会发现这些功能有很多用途,但这里有一些可以帮助您入门:
命令行界面的完整文档可用here。 cloud-shell命令组目前处于alpha状态,因此我们仍在对其进行更改,并通过documentation page底部的反馈链接欢迎您提供反馈和建议。
答案 1 :(得分:1)
更新:这个答案现已过时 - 请参阅@ 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 个简单的步骤做到这一点:
sudo snap install google-cloud-sdk --classic
gcloud auth login
注意:运行此命令后,您的默认浏览器将打开并要求您进行身份验证gcloud cloud-shell ssh
注意:如果您是第一次执行此操作,它可能会引导您创建 ssh 密钥,如果发生了,在我的情况下,我会继续使用空密码gcloud cloud-shell ssh