如何让Google Cloud Shell编辑器显示目标实例文件以实时编辑?
解决Google Cloud Shell文件编辑器访问目标实例文件的问题
嘿,我之前也碰到过这个困扰——Cloud Shell的默认编辑器只会盯着它自己的持久存储,没法直接访问其他GCE实例的文件。不过有个很实用的办法能实现实时编辑,就是把目标实例的文件系统挂载到Cloud Shell里,这样新版文件浏览器就能直接操作了:
步骤1:在Cloud Shell中准备挂载目录
先创建一个本地目录用来挂载远程实例的文件,比如:
mkdir -p ~/my-target-instance
步骤2:用SSHFS挂载目标实例的文件系统
Cloud Shell默认预装了sshfs工具,直接用它把目标实例的目录挂载到刚才创建的本地目录就行。替换下面的参数为你的实例信息:
sshfs YOUR_INSTANCE_USER@YOUR_INSTANCE_EXTERNAL_IP:/path/to/remote/directory ~/my-target-instance
YOUR_INSTANCE_USER:目标实例的默认用户名(比如Ubuntu实例是ubuntu,Debian也是,CentOS是centos)YOUR_INSTANCE_EXTERNAL_IP:目标实例的公网IP,你可以在GCE控制台找到/path/to/remote/directory:你想访问的实例上的目录,比如/home/ubuntu或者/var/www/html
如果是第一次连接这个实例,会提示你确认主机密钥,输入yes就行,还可能需要输入实例的SSH密钥密码(如果你设置了的话)。
步骤3:在新版文件浏览器中访问挂载的目录
挂载完成后,回到Cloud Shell的文件浏览器,刷新一下就能看到my-target-instance目录了。点击进去,里面就是目标实例上的文件,你可以直接编辑、创建、删除,所有操作都会实时同步到目标实例上。
注意事项
- 当你关闭Cloud Shell会话后,挂载会自动失效,下次打开需要重新执行挂载命令
- 如果遇到权限问题,比如没法编辑某些文件,可以在
sshfs命令后加上-o allow_other参数,或者调整目标实例上对应目录的权限 - 确保目标实例的防火墙规则允许SSH(端口22)的入站连接,否则挂载会失败
内容的提问来源于stack exchange,提问作者Ben P
相关产品推荐
相关产品推荐

