2012-08-05 4 views
29

Port höre ich SSH bin mit meiner Universität afs-System zuzugreifen. Ich mag rmate (remote TextMate) verwenden, die SSH-Tunneling erfordert, also habe ich diesen Alias ​​in meine .bashrc aufgenommen.Warnung: Fernweiterleitung Port fehlgeschlagen für 52698

alias sshr=ssh -R 52698:localhost:52698 [email protected] 

Es hat immer bis jetzt funktioniert.

+0

Nur ein Tipp. Bei jedem SSH-Problem wechseln Sie mit '-vvv' zum Debuggen. Wenn es möglich ist, versuchen Sie, den Befehl auf dem Remote-Server mit localhost als Ziel auszuführen, um die Konfiguration zu überprüfen. 'ssh [email protected] - ssh -vvv -R 1234: localhost: 1234 localhost'. Grüße, – geckos

Antwort

18

Ich hatte eine andere SSH-Verbindung offen. Ich musste diese Verbindung nur schließen, bevor ich meinen SSH-Tunnel öffnete.

Weitere Erläuterung: Sobald eine SSH-Verbindung hergestellt wurde, werden nachfolgende Verbindungen eine Nachricht erzeugen:

Warnung: Remote-Port-Forwarding für 52698

Diese Meldung Port hört ausgefallen ist harmlos, da der Forward nur einmal eingerichtet werden kann und ein Forward für alle SSH-Verbindungen zur selben Maschine funktioniert. Die ursprüngliche ssh-Sitzung, die die Weiterleitung geöffnet hat, bleibt geöffnet, wenn Sie die Shell beenden, bis alle Remote-Editiersitzungen beendet sind.

+1

Wo haben Sie Ihre Informationen gefunden, um dieses Problem zu lösen? Ich habe frisch auf dem Server mit Strom versorgt und SSHed mit Reverse-Tunneling in versuchten rmate zu laufen, und es gibt die lokale Host-Port 52698 Fehler CONNECT_TO: fehlgeschlagen. Soweit ich weiß, habe ich nur eine SSH Verbindung offen. Ich habe iptables aktualisiert, um Verbindungen an diesem Port zu erlauben. Stuck auf was als nächstes versuchen. – Ila

+2

Noob Tipp, dass ich nützlich fand: Denken Sie daran, Textmate auf Ihrem lokalen Rechner laufen zu lassen. Das startet den Server tatsächlich. – Magne

+4

Wenn Sie noch diese Warnung bekommen, Sie können, indem Sie einen anderen Port abmelden und verbinden: ssh -R : localhost: 52698 @. – kwyoung11

35

hatte ich das gleiche Problem. Um den Anschluss zu finden, die bereits geöffnet ist, müssen Sie diesen Befehl zur Ausgabe auf den ‚corn.myschool.edu‘ Computern:

sudo netstat -plant | grep 52698 

Und dann alle Prozesse zu töten, der mit diesem kommen (ersetzen xxxx mit dem Prozess-IDs)

sudo kill -9 xxxx 

(AKTUALISIERT: die Option geändert -plant sein, da es eine schöne mnemonic ist)

+8

Auf Mac scheint der Befehl "lsof -i-P | grep 52698" zu sein, löst aber immer noch nicht das Problem (listet nur Textmate für mich auf) – Kevin

+3

Ich nehme an, es wäre leichter, sich daran zu erinnern, wenn Sie die Argumente neu anordnen netstat: 'sudo netstat -anlage | grep 52698' ... und ich habe nicht einmal bemerkt, dass Ihr Computer "Mais" genannt wurde, als ich dies schrieb! : P – icedwater

0

In meinem Fall war das Problem, dass das Remote-System nicht richtig eingestellt DNS hat up, und es konnte nicht einmal seinen eigenen Hostnamen auflösen. Stellen Sie sicher, dass Sie ein funktionierendes DNS in /etc/resolv.conf auf dem Remote-System haben.

2

erlebte ich dieses Problem, aber es war während Verbindung zu einem Server, auf dem ich nicht sudo priviliges haben, so dass die obere Antwort darauf hindeutet, runing sudo netstat ... für mich nicht möglich war.

Ich fand schließlich heraus, dass es war, weil es immer noch Instanzen von rmate gab, also habe ich ps verwendet, um die laufenden Prozesse aufzulisten und dann kill -9 pid (wobei pid die Prozess-ID für rmate ist).

Verwandte Themen