Forum: PC-Programmierung Telnet localhost (Linux)


von bbub (Gast)


Lesenswert?

Hallo,


ich versuche eine Telnet Verbindung auf meinem Linux System 
herzustellen.
Bekomme aber die folgende Fehlermeldung:
1
# telnet localhost
2
Trying ::1...
3
Trying 127.0.0.1...
4
telnet: Unable to connect to remote host: Connection refused

Woran liegt das?
Meine /etc/hosts.allow ist momentan leer. Muss ich da etwas eintragen? 
Und was?



Danke

von Peter II (Gast)


Lesenswert?

bbub schrieb:
> Woran liegt das?

vermutlich hast du gar kein Telnet(Server) laufen.

von bbub (Gast)


Lesenswert?

Also, ich habe telnet-server & telnet-client installiert.

Bevor ich 'telnet localhost' ausführe, habe ich ein Programm gestartet, 
das auf den Telnet Port horchen oder schreiben soll.

von derElf (Gast)


Lesenswert?

mach mal
1
netstat -tulpen
um zu sehen ob telnet läuft und auf der passenden IP lauscht

von Peter II (Gast)


Lesenswert?

bbub schrieb:
> Bevor ich 'telnet localhost' ausführe, habe ich ein Programm gestartet,
> das auf den Telnet Port horchen oder schreiben soll.

scheinbar nicht, sonst würde nicht "Connection refused" kommen.

von derElf (Gast)


Lesenswert?

scheinbar nicht, sonst würde nicht "Connection refused" kommen.

Das kann auch bedeuten, dass der telnet deamon nur auf einer bestimmten 
IP und nicht auf 0.0.0.0 lauscht. Kommt halt auf seine Konfiguration an.

von bbub (Gast)


Lesenswert?

Also, netstat -tulpen zeigt mir kein telnet als Proto an.

Die Ausgabe für den vermeintlichen Port habe ich hier:
1
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name       
2
tcp        0      0 127.0.0.1:1509          0.0.0.0:*               LISTEN      0          40677       2185/muxa

Müsste Proto 'telnet' sein anstatt 'tcp'?

von Peter II (Gast)


Lesenswert?

bbub schrieb:
> Müsste Proto 'telnet' sein anstatt 'tcp'?

nein.


Was hast du denn für ein Programm gestartet? Und warum glaubst du das es 
auf den Telnet port hört?

von mar IO (Gast)


Lesenswert?

bbub schrieb:
> Also, ich habe telnet-server & telnet-client installiert.
>
> Bevor ich 'telnet localhost' ausführe, habe ich ein Programm gestartet,
> das auf den Telnet Port horchen oder schreiben soll.

Wenn ich jetzt mal davon ausgehe, dass der Telnet-Server läuft, dann 
hast Du noch ein zweites Programm gestartet, das auf den selben Port 
schreiben und lesen soll! - Das macht doch keinen Sinn und nur 
Probleme!!!

Was hast Du eigentlich vor? Möchtest Du, dass Du dein Betriebsystem über 
Telnet administrieren kannst, oder eigentlich ganz was anderes??

von Georg (Gast)


Lesenswert?

mar IO schrieb:
> Möchtest Du, dass Du dein Betriebsystem über
> Telnet administrieren kannst, oder eigentlich ganz was anderes??

Irgendwie erinnere ich mich dunkel, dass Telnet aus Sicherheitsgründen 
nicht mehr standardmässig konfiguriert wird, aber wo man drehen muss, 
damit es doch funktioniert, weiss ich nicht mehr.

Aber Google hilft (linux telnet enable):

http://www.cyberciti.biz/faq/how-do-i-turn-on-telnet-service-on-for-a-linuxfreebsd-system/

Georg

von bbub (Gast)


Lesenswert?

Ich versuche ein Embedded-Linux auf QEMU laufen zu lassen.
Über Telnet sollte ich nun Zugriff auf die Konsole des in QEMU laufenden 
Linux bekommen.

1
xterm -hold -e /opt/qemu/bin/qemu-system-arm -cpu cortex-a15 -nographic -kernel /home/bbub/workspace/boot/linux-devel-qemu-arm-v7hf-qemu -net nic -net tap,ifname=tap0


Wer ist denn in dem Fall der Telnet Server und wer der Client?
Bzw. was könnt ich prüfen, wo's hängt?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

bbub schrieb:
> Die Ausgabe für den vermeintlichen Port habe ich hier:

Ist 1509 der Port, den Du erwartest? Telnet nutzt üblicherweise Port 23.


Du kannst versuchen, Dich mit Port 1509 zu verbinden:

telnet localhost 1509

von mar IO (Gast)


Lesenswert?

bbub schrieb:
> Ich versuche ein Embedded-Linux auf QEMU laufen zu lassen.
> Über Telnet sollte ich nun Zugriff auf die Konsole des in QEMU laufenden
> Linux bekommen.
>
> xterm -hold -e /opt/qemu/bin/qemu-system-arm -cpu cortex-a15 -nographic
> -kernel /home/bbub/workspace/boot/linux-devel-qemu-arm-v7hf-qemu -net
> nic -net tap,ifname=tap0
>
> Wer ist denn in dem Fall der Telnet Server und wer der Client?

Der Client verbindet sich zum Server. Wenn der Server auf dem emulierten 
Linux läuft, dann kannst Du von jedem Client aus auf den Server 
zugreifen, also das emulierte Linux administrieren (jedenfalls 
theoretisch, praktisch gibt's ein paar Hürden).

> Bzw. was könnt ich prüfen, wo's hängt?

Du brauchst einen laufenden Telnet-Server und vom Server die richtige 
IP-Adresse und den richten Port.

Das emulierte Linux hat seine eigene IP-Adresse. Der standard Port ist 
23.

von Peter II (Gast)


Lesenswert?

mar IO schrieb:
> Das emulierte Linux hat seine eigene IP-Adresse. Der standard Port ist
> 23.

er will aber zur console vom dem emulierten System - also ohne Netzwerk 
vom client-System.

dafür vermisse ich irgendwie den Parameter von qemu. Da muss man 
bestimmt ein paar mehr Parameter angeben.

von bbub (Gast)


Lesenswert?

Ok, auf localhost 1509 scheint etwas zu laufen, nachdem ich Qemu 
gestartet habe. Vorher nicht.
1
# telnet localhost 1509
2
Trying ::1...
3
Trying 127.0.0.1...
4
Connected to localhost.
5
Escape character is '^]'.
6
7
^]
8
telnet>

Das heisst, QEMU Linux ist auf localhost 1509 mit telnet Protokoll 
aktiv, aber der Client verbindet sich nicht recht mit dem Port, oder?

von Peter II (Gast)


Lesenswert?

bbub schrieb:
> Das heisst, QEMU Linux ist auf localhost 1509 mit telnet Protokoll
> aktiv, aber der Client verbindet sich nicht recht mit dem Port, oder?

wie kommst du darauf? der Client ist doch verbunden es kommen nur keine 
Ausgaben.

Und nur weil port 1509 aktiv ist, heißt das noch lang nicht das du dort 
einfach mit Telnet irgendwie Daten übertragen kann. Der Port kann auch 
für etwas komplett anderes da sein.

von bbub (Gast)


Lesenswert?

Wie gesagt, auf dem Port sehe ich erst etwas, nachdem QEMU gestartet 
ist.
Dh. Qemu öffnet zumindest den Port.

Doch wie kriege ich raus, ob & was da rein geschrieben wird. Oder wie 
weiß ich, welches Protokoll auf dem Port genutzt wird?

von Peter II (Gast)


Lesenswert?

bbub schrieb:
> Doch wie kriege ich raus, ob & was da rein geschrieben wird. Oder wie
> weiß ich, welches Protokoll auf dem Port genutzt wird?

Doku von QEMU lesen.

von (prx) A. K. (prx)


Lesenswert?

Einen Service zu installieren heisst nicht zwangsläufig, dass er dann 
auch läuft. Sondern nur, dass er es könnte wenn man ihn denn starten 
würde. Wie man das macht hängt von der verwendeten Distribution ab.

Ein Versuch wäre beispielsweise
 # service telnet start
allerdings ist das nicht dauerhaft.

: Bearbeitet durch User
von mar IO (Gast)


Lesenswert?

Peter II schrieb:
> er will aber zur console vom dem emulierten System - also ohne Netzwerk
> vom client-System.

Ah, jetzt verstehe ich! Also die Konsole tty1 vom emulierten Linux über 
Telnet ansprechen. Kenn mich mit qemu nicht gut aus. Geht das eigentlich 
bzw. wie heißt die Option dazu???

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.