rsub与sublime和ssh连接refusual

时间:2013-09-22 00:04:10

标签: macos ubuntu ssh sublimetext2 port

我正在尝试使用rsub在ssh中创建隧道以升华文本,我运行命令rmate .profile但我得到以下响应。我正在使用wateroof打开1p4和ip6上的端口52968,我按照了here的指示,它只是不工作

我在本地计算机上运行osx,在远程计算机上运行ubuntu 12.04我正在使用digitalocean运行

root@anderskitson:~# rmate .profile
/usr/local/bin/rmate: connect: Connection refused
/usr/local/bin/rmate: line 186: /dev/tcp/localhost/52698: Connection refused
Unable to connect to TextMate on localhost:52698

9 个答案:

答案 0 :(得分:43)

我遇到了同样的问题。

让remoteHost =您尝试ssh到的计算机的IP或主机名。

我在本地计算机上运行ssh -R 52698:localhost:52698 remoteHost,之后在remoteHost工作rmate .profile。{/ p>

这导致我确定本地计算机上的〜/ .ssh / config不正确。

我设置〜/ .ssh / config看起来像这样:

Host remoteHost
  RemoteForward 52698 localhost:52698

自从我做出改变以来,它一直在努力。

答案 1 :(得分:20)

对于在 Windows 上使用 PuTTy 获得同样错误的人,this commenter会提供很好的说明:

  1. 在PuTTy的配置窗口中,nagivate到Connection> SSH>隧道窗格
  2. 在"源端口"字段,类型52698
  3. 在"目的地"字段,类型127.0.0.1:52698
  4. 选择"遥控器"和" Auto"单选按钮
  5. 点击"添加"按钮
  6. 如果要保留这些设置,请转到“会话”窗格并保存。
  7. 这是一个直观地解释的图像:

    rsub configuration windows putty sublime text ssh

答案 2 :(得分:5)

我有同样的问题,这对我有用。如果您希望使用多个服务器,请执行以下操作:

Host *
  RemoteForward 52698 localhost:52698

我查阅了这个链接:configure SSH config file并意识到你可以在配置文件中使用*。

  

通配符也可用于允许应有的选项   范围更广。

答案 3 :(得分:3)

我遇到了同样的问题,并在连接时将HOSTNAME替换为实际IP-Address时修复了问题:
例如:ssh pi@raspberrypi.localssh pi@192.168.1.1

答案 4 :(得分:3)

我试图首次使用VS Code设置它并获得通用"连接被拒绝"即使我的配置似乎很好,也会出错。结果是因为我在安装rmate扩展(远程VSCode)后没有重新加载IDE。确保rmate服务器在本地计算机上处​​于活动状态,无论您使用何种IDE。

答案 5 :(得分:2)

我遇到了同样的问题并经历了大部分博客,我做了所有被告知的事情。 最后,我发现自己关闭了textmate或submile编辑器(强制退出),这就引起了问题。

答案 6 :(得分:0)

例如,我的SSH配置~/.ssh/config文件通过远程转发与DigitalOcean连接,如下所示:

Host DigitalOcean
  Hostname xxx.xxx.xxx.xxx
  User username
  RemoteForward 52698 localhost:52698

并在终端中调用

ssh DigitalOcean

rmate然后与我的本地Atom编辑器很好地连接

答案 7 :(得分:0)

rmate无明显原因停止工作。原来我绊倒了“中间人”支票。我在执行ssh-

时看到了这个警告
\@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

就我而言,此警告是预料之中的,因此我将其忽略。这可能不适用于您,因此验证主机身份。在警告结束时没有意识到这条线-

Port forwarding is disabled to avoid man-in-the-middle attacks.

难怪rmate停止工作了。验证主机身份,然后从~/.ssh/known_hosts中清除违规条目后,警告消失了,rmate重新开始工作。

答案 8 :(得分:0)

我偶尔会遇到这个问题,至少对于我的设置(这可能非常特殊),我发现杀死 ssh 会话的僵尸实例可以完成这项工作。

我的特殊设置:

我通过 OSX 主机上的 VM (VMWare Fusion) 运行 Linux。然后我从 OSX ssh 进入 Linux 主机,并从 Linux 端启动 sublime。我通常会运行几个 ssh 会话。

我最近重新启动了我的 Mac(没有先关闭虚拟机,这可能很糟糕),一旦我回到虚拟机,就无法启动 Sublime - 得到了 OP 提到的“连接被拒绝”错误。< /p>

所以我在 Linux 端做了一个 const express = require('express'); const app = express(); const server = require('http').createServer(app); const io = require('socket.io')(server); const bodyParser = require('body-parser'); const cors = require('cors'); let timerId = null; let sockets = new Set(); app.use(express.static(__dirname + '/dist')); io.on('connection', (socket) => { sockets.add(socket); console.log(`Socket ${socket.id} added`); if (!timerId) { startTimer(); } socket.on('clientdata', (data) => { console.log(data); }); socket.on('disconnect', () => { console.log(`Deleting socket: ${socket.id}`); sockets.delete(socket); console.log(`Remaining sockets: ${sockets.size}`); }); }); ,并寻找所有 :

ps aux

(其中 root 657399 0.0 0.1 13956 9332 ? Ss 14:52 0:00 sshd: user [priv] user 657461 0.0 0.0 14088 5420 ? S 14:52 0:00 sshd: user@pts/1 是我的用户名)。我杀死了 user 工作,例如user 以上,瞧!现在一切正常。当然,在杀死这些作业的过程中,您很可能会杀死您当前所在的 ssh 会话,因此您将不得不重新登录您的会话。

这可能不适用于在远程机器上没有必要的终止权限的用户,所以不知道这有多大用处,但我想我会把它放在那里。