2012-12-13 13 views
5

Wykonuję swoją pracę programisty na maszynie Mac OSX z zainstalowaną maszyną wirtualną serwera Ubuntu, którą zarządzam głównie przez SSHing do niej z Terminalu. Próbuję znaleźć sposób edytowania plików na serwerze przy użyciu Sublime Text na komputerze Mac zamiast nano lub vim z Terminal. Postępowałem zgodnie z instrukcjami zawartymi w tym doskonałym przewodniku "Using Textmate 2s rmate with Sublime Text 2".Otwieranie pliku z Sublime Text przez SSH do VM, błąd

  • Zainstalowałem program rsub w Sublime Text.
  • Zainstalowałem rmate na moim serwerze Ubuntu.
  • Edytowałem plik ~/.ssh/config.
  • Dodałem port 52698 do iptables na serwerze.

Kiedy zalogować się na mój serwer i uruchomić

rmate .profile 

pojawia się błąd

connect_to localhost port 52698: failed. 

This previous question odnosi się do podobnego błędu, ale wydaje się być związane z więcej niż jednego Połączenie SSH jest otwarte i nie sądzę, że tak właśnie jest. Jak jednak mogę to sprawdzić?

Zastanawiam się, czy może to być w jakiś sposób związane z faktem, że mój serwer dev jest maszyną wirtualną z nieco tajemniczą konfiguracją Internetu - używając trzech różnych adapterów, które łączą się z siecią Ethernet komputera hosta i połączenia WiFi. Czy tunelowanie odwrotne przez SSH wymagałoby różnych modyfikacji przy takim ustawieniu?

Lub inne sugestie dotyczące zasobów lub referencje, aby uzyskać tę konfigurację?

Odpowiedz

3
  1. wydaj następujące polecenie, aby sprawdzić, czy port jest otwarty w VM:

    telnet localhost 52698

Jeśli nie otworzył wówczas trzeba go otworzyć.

+3

Dzięki! Uruchomiłem to i otrzymałem połączony z localhost. Escape to "^]." Connect_to localhost port 52698: failed. Połączenie zamknięte przez hosta zagranicznego. Następnie uruchomiłem netstat -an | grep "słuchać" i dostał się między innymi: tcp 0 0 127.0.0.1:52698 0.0.0.0:* POSŁUCHAJ tcp6 0 0 :: 1: 52.698 ::: * POSŁUCHAJ Czy to sugeruje, że port jest otwarty? – Ila

+2

musisz to naprawić, ponieważ port nie jest otwarty, dlatego wysublimowany tekst jest uszkodzony – Satya

+2

Wskazówka Nooba, która okazała się przydatna: Pamiętaj, aby mieć Sublime działającą na lokalnej maszynie. Następnie możesz uruchomić to polecenie i zobaczyć, że się łączy. – Magne

1

W VirtualBoxie> Ustawienia> Sieć> Adapter 2 (adapter NAT)> Zaawansowany, dodałem regułę przekazywania portów z hostmachine: 52698 do guestmachine: 52698. Wygląda na to, że to rozwiązało.

+2

Kolejny komentarz dla mnie i kogokolwiek innego, kto natknie się na tę odpowiedź - na mojej instalacji (Mac OSX z uruchomionym SublimeTextem, maszyna wirtualna Ubuntu z zainstalowanym rmate), pojawia się ten sam błąd "connect_to localhost port 52698: failed." jeśli SublimeText nie jest już otwarty na komputerze-hoście. Tak więc, pierwsza linia śledztwa: czy SublimeText jest otwarty? – Ila

1

Jeśli chcesz całkowicie pominąć przekierowanie portów, możesz wypróbować coś, nad czym pracowałem, o nazwie "xeno" (https://xeno.io). Jest bardzo podobny do rmate/rsub, z tym wyjątkiem, że nie używa odwrotnego przekierowania portów, aby umożliwić synchronizację. Zamiast tego używa mashup Git i SSH, aby umożliwić jego transport i synchronizację. Daje to pewną liczbę zalet w porównaniu z rmate/rsub - w szczególności możesz edytować całą hierarchię folderów. Jest także całkowicie odporny na przerwy w połączeniach, więc możesz nawet pracować w trybie offline, a zmiany redagowane lokalnie są automatycznie przekazywane do pilota po powrocie do trybu online.

Jest również bezpłatny i open source :), i bardzo bym chciał poznać opinie.

1

musiałem zabić wszystkie istniejące sesje SSH z

pkill -o -u YOURUSERNAME sshd 

potem ponownie pracował.