通过SSH连接到虚拟机并使用Sublime Text打开文件,出现错误。

5
我在Mac OSX机器上进行开发工作,安装了Ubuntu Server虚拟机,主要通过从终端SSH连接来管理它。 我正在尝试找到一种使用Sublime Text而不是从终端使用nano或vim编辑服务器上的文件的方法。 我按照这篇优秀指南 "Using Textmate 2s rmate with Sublime Text 2" 中的说明进行操作。
  • 我已经在Sublime Text中安装了rsub。
  • 我已经在我的Ubuntu服务器上安装了rmate。
  • 我已经编辑了我的~/.ssh/config文件。
  • 我已经在服务器上添加了端口52698到iptables。

当我SSH连接到我的服务器并运行

rmate .profile

我收到了错误。
connect_to localhost port 52698: failed.

这个之前的问题与此类似,但它似乎与同时打开多个SSH连接有关,而我不认为这对我适用。然而,我该如何测试呢?

我在想,这是否与我的开发服务器是一个虚拟机,具有略微神秘的互联网设置有关 - 使用三个不同的适配器连接到主机的以太网和WiFi连接。通过SSH进行反向隧道是否需要对此设置进行不同的调整?

或者,有没有其他资源或参考资料可以帮助我完成此设置?

4个回答

3
  1. 执行以下命令检查虚拟机中的端口是否已打开:

    telnet localhost 52698

如果未打开,则需要打开它。


3
谢谢!我运行了这个命令,得到了以下结果:连接到本地主机。 转义字符为'^]'。连接到本地主机端口52698失败。由远程主机关闭连接。然后我运行了netstat -an | grep "LISTEN "命令,并得到了以下内容(除其他内容外):tcp 0 0 127.0.0.1:52698 0.0.0.0:* LISTENtcp6 0 0 ::1:52698 :::* LISTEN 这是表示该端口开放吗? - Ila
2
你需要把它修好,因为端口没有打开,这就是为什么Sublime Text无法运行的原因。 - Satya
3
新手小技巧:记得在本地电脑上运行Sublime。这样,您就可以运行该命令并查看连接情况。 - Magne

2
在VirtualBox中,进入"设置"-"网络"-"适配器2"(NAT适配器)-"高级",我添加了一个端口转发规则,将主机机器的52698端口转发到客户机器的52698端口。这似乎解决了问题。

2
对于我自己和其他遇到这个问题的人,我想再补充一点说明- 在我的设置中(Mac OSX桌面运行SublimeText,安装了rmate的Ubuntu虚拟机),如果主机计算机上没有打开SublimeText,我会得到相同的错误“connect_to localhost port 52698: failed.”。因此,第一步调查:SublimeText是否已经打开? - Ila
是的,它是开放的,并且已安装rsub包。同样的错误。 - Doug Fir

1

我必须使用以下命令终止所有现有的SSH会话:

pkill -o -u YOURUSERNAME sshd

之后,它又可以正常工作了。

1
如果您想完全避免端口转发,可以尝试我正在开发的名为“xeno”(https://xeno.io)的东西。它非常类似于rmate/rsub,但不使用反向端口转发来实现同步。相反,它使用Git和SSH的混合来实现传输和同步。这使得它比rmate/rsub具有许多优点-特别是您可以编辑整个文件夹层次结构。它还完全能够抵御连接中断,因此即使您离线工作,本地进行的编辑更改也会在您重新联网后自动推送到远程。

它也是免费且开源的:),我真的很想听听您的反馈意见。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接