Mik*_*maa 11 ssh text-editors sftp
我在各种 Linux 和 UNIX 环境中工作。
我想优雅地解决通过SSH编辑远程配置文件的问题。我不想使用终端编辑器(nano),而是想在桌面上的本地文本编辑器(Sublime Text 2)中打开文件。
CyberDuck、WinSCP 和其他各种 SFTP 应用程序可以做到这一点。
在 X11 转发上使用编辑器也被证明是有问题的。使用像 Vim 或 Emacs 这样过时的文本编辑器也不能很好地满足我的需求。他们可以这样做,但我更喜欢使用其他文本编辑软件。
使用 ssh 挂载 (FUSE) 也有问题,除非它们可以按需发生并由远程站点触发。
所以我希望达到的目标
有某种易于部署的 shell 脚本等,我可以将其复制到远程服务器(我们称之为 mooedit)
我在通过 SSH 连接的远程服务器上运行mooedit命令
mooedit发送某种信号(通过 SSH(到我的本地桌面)
在我的本地桌面上,这个信号被捕获,它决定了 'a ha! moo 想编辑服务器 X 上文件夹 Y' 中的文件
文件通过 SFTP 传输到本地桌面 (/tmp)
文件在本地桌面上的漂亮 GUI 文本编辑器中打开
当按下 Save 时,本地桌面会注意到文件的变化,SFTP 将生成的文件发送回服务器
问题是:
SSH 为此提供了哪些信号机制?
还有其他方法可以触发远程 SSH 文件的本地文本编辑器吗?
您可以使用rsub和rmate通过 ssh 编辑本地 Sublime Text 中的远程文件。
你需要
rsub
在 Sublime Text 中安装包(使用包管理器)通过 ssh 转发端口 52698,使用ssh -R 52698:localhost:52698 ...
或设置您的配置
~/.ssh/config
和chmod 600 ~/.ssh/config
(以避免权限问题)*
):Host SERVERNAME
RemoteForward 52698 127.0.0.1:52698
Run Code Online (Sandbox Code Playgroud)
ssh
rsub
在远程机器上安装脚本:sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
sudo chmod +x /usr/local/bin/rsub
Run Code Online (Sandbox Code Playgroud)
然后您可以rsub file
在 ssh 会话中进行操作,它将file
在您的本地 ST 编辑器中打开。
与 ST2/ST3 一起使用,您也可以sudo rsub file
!
由于这个问题很老了,但仍然引起人们的关注。
这个问题本身很老,最初是由rmate针对 TextMate / OSX 生态系统解决的。从那时起,出现了一些针对rsub
不同文本编辑器的 rmate 实现,例如答案中的 Sublime Text。其中一些是兼容的,有些则不兼容。
我建议使用带有远程 VSCode扩展的Visual Studio Code以及服务器端的rmate 克隆之一。Visual Studio Code 是著名的免费跨操作系统文本编辑器。
这里还有一个用于在服务器端ssh-copy-mate
安装rmate 的 bash 脚本。
归档时间: |
|
查看次数: |
23539 次 |
最近记录: |