Bloede Frage... OpenBSD & Telnet Service: Wie?

dettus

Bicycle User
So, ich habe mal wieder eine bloede Idee...
Mein Gameserver magneticscrolls.net laeuft und macht auch Spass. Momentan braucht man SSH um sich damit zu verbinden.

Weiss jemand von euch einen "einfachen" Weg, um mit OpenBSD einen Pseudo-Telnetservice aufzuziehen?
Irgendwas, das auf Port 8081 lauscht, und dann stdin/stdout stumpf zu einem executable forwarded?
 

morromett

Well-Known Member
Weiss jemand von euch einen "einfachen" Weg, um mit OpenBSD einen Pseudo-Telnetservice aufzuziehen?
Irgendwas, das auf Port 8081 lauscht, und dann stdin/stdout stumpf zu einem executable forwarded?
Das sollte evtl. mit einem geeigneten irc-Server (z. B. ircd-hybrid) möglich sein. Evtl. die telnet-Verbindung zum irc-Server, in einem wireguard-VPN (oder gleichwertig) herstellen bzw. benutzen.
 

TCM

Well-Known Member
So, ich habe mal wieder eine bloede Idee...
Mein Gameserver magneticscrolls.net laeuft und macht auch Spass. Momentan braucht man SSH um sich damit zu verbinden.

Weiss jemand von euch einen "einfachen" Weg, um mit OpenBSD einen Pseudo-Telnetservice aufzuziehen?
Irgendwas, das auf Port 8081 lauscht, und dann stdin/stdout stumpf zu einem executable forwarded?
Äh, hallo? inetd? ;)
 

dettus

Bicycle User
Soweit ich weiss startet oder stopped inetd nur daemons.
Mein Programm hat aber keine TCP-Funktionalitaet.
 

TCM

Well-Known Member
Code:
# cat /usr/local/sbin/identd.sh
#!/bin/sh -r
set -e
set -f
IFS='
'

read line
line=$(echo $line | tr -d '\r')
printf "%s : USERID : UNIX : tcm\r\n" "${line}"
exit 0

Code:
# cat /etc/inetd.conf
::1:auth        stream  tcp6    nowait  nobody  /usr/local/sbin/identd.sh       identd.sh
127.0.0.1:auth  stream  tcp4    nowait  nobody  /usr/local/sbin/identd.sh       identd.sh

Code:
# telnet localhost 113
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
123.123.123.123:123
123.123.123.123:123 : USERID : UNIX : tcm

Einfach mal ausprobieren.

Furthermore, in inetd's "nowait" mode of service management, no network code is required in the service-specific programs, as inetd hooks the network stream directly to stdin and stdout of the spawned process.


Zugegeben, das könnte ruhig auch mal in der manpage stehen.
 

dettus

Bicycle User
Dein Shell-Script funktioniert.
Leider schaffe ich es nicht, nach dem readline mein programm zu starten.

Weiter komme ich noch nicht. Meine Applikation wird gestarted, aber ich sehe keinerlei Ausgabe.

Spasseshalber habe ich mal ssh in deinem Script gestartet, das gibt mir die folgende Meldung aus:
Pseudo-terminal will not be allocated because stdin is not a terminal.


(Man muss dazu sagen, dass ich den inetd auch im chroot laufen lasse. )
 
Oben