Cool Guy Yo
Cool Guy Yo

Reputation: 6110

rsub with sublime and ssh connection refusual

I am trying to use rsub to create tunnel in ssh to sublime text, I run the command rmate .profile but i get the following response. I am using wateroof to open the ports 52968 on 1p4 and ip6, I followed the insturctions here and its just not working

I am running osx on my local machine and ubuntu 12.04 on my remote machine I am ssh into on 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

Upvotes: 30

Views: 31842

Answers (9)

Donna
Donna

Reputation: 1550

I run into this issue occasionally, and at least for my setup (which might be quite particular), I have found that killing zombie instances of ssh sessions does the job.

My particular setup :

I run Linux through a VM (VMWare Fusion) on my OSX host. Then I ssh into the the Linux host from OSX, and launch sublime from the Linux side. I usually have several ssh sessions running.

I recently rebooted my Mac (without first shutting down the VM, which was probably bad), and once I got back into the VM, was unable to launch Sublime - got the "connection refused" error mentioned by the OP.

So I did a ps aux on the Linux side, and looked for all instances of :

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

(where user is my username). I killed the user jobs, e.g. 657461 above, and Voila! Every thing works now. Of course, in the process of killing these jobs, you are likely to kill the ssh session you are currently in, so you will have to log back into your session.

This might not work for users who don't have the necessary kill privileges on their remote machine, so don't know how useful this is, but thought I would put it out there.

Upvotes: 0

amolk
amolk

Reputation: 1397

rmate stopped working for no apparent reason. Turns out I had tripped the 'man in the middle' check. I saw this warning when doing ssh --

\@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

In my case, this warning was expected so I ignored it. This may not apply for you, so verify host identity. Didn't realize this line at the end of the warning --

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

No wonder rmate stopped working. Verifying host identity and then clearing out offending entry from ~/.ssh/known_hosts made the warning go away and rmate started working again.

Upvotes: 0

Bruno Vermeulen
Bruno Vermeulen

Reputation: 3465

For example my SSH config ~/.ssh/config file to connect with DigitalOcean with Remote Forward looks like:

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

and is called in a terminal

ssh DigitalOcean

rmate then connects fine with my local Atom editor

Upvotes: 2

shiva ganga chennu.
shiva ganga chennu.

Reputation: 53

I had the same problem and gone through most of the blogs, I did everything that was told. At last, I found myself that textmate or submile editors are closed(force quit), this caused the problem.

Upvotes: 4

wonderlr
wonderlr

Reputation: 165

I was trying to set this up for the first time using VS Code and got the generic "Connection refused" error even though my configuration seemed fine. It turned out to be because I hadn't reloaded the IDE after installing the rmate extension (Remote VSCode). Make sure that the rmate server is active on your local machine, whatever IDE you're using.

Upvotes: 4

jeanggi90
jeanggi90

Reputation: 761

I had the same problem and fixed with replacing the HOSTNAME with the actual IP-Address when connecting:
e.g.: ssh [email protected] to ssh [email protected]

Upvotes: 3

olala
olala

Reputation: 4456

I had the same issue and here is what works for me. If you have multiple servers you want this to work for, do the following as exactly shown here:

Host *
  RemoteForward 52698 localhost:52698

I consulted this link: configure SSH config file and realized you can use * in config file.

Wildcards are also available to allow for options that should have a broader scope.

Upvotes: 6

Alex P. Miller
Alex P. Miller

Reputation: 2246

For anyone getting this same error using PuTTy on Windows, this commenter gives great instructions:

  1. In PuTTy's config window, nagivate to the Connection > SSH > Tunnels pane
  2. In the "Source Port" field, type 52698
  3. In the "Destination" field, type 127.0.0.1:52698
  4. Select the "Remote" and "Auto" radio buttons
  5. Click the "Add" button
  6. Go to the Session pane and save if you want to preserve these settings.

Here's an image which does the explaining visually:

rsub configuration windows putty sublime text ssh

Upvotes: 24

EricaJoy
EricaJoy

Reputation: 771

I was having the same problem.

Let remoteHost = the IP or hostname of the machine you're attempting to ssh to.

I ran ssh -R 52698:localhost:52698 remoteHost from my local machine, after whice rmate .profile on remoteHost worked.

That led me to determine that ~/.ssh/config on my local machine was incorrect.

I set ~/.ssh/config to look like this:

Host remoteHost
  RemoteForward 52698 localhost:52698

It's been working solidly since I made that change.

Upvotes: 56

Related Questions