Hauptmenü

Telnet port

Begonnen von rudolfkoenig, 13 Juni 2012, 13:25:48

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo!

Wie kann ich per Dyndns(Fritzbox) auf Telnet-Fhem zugreifen, muss ich da
noch was in Fhem erlauben oder Freischalten??
Wenn ich mich per Putty über meine Dyndns einwähle dann bricht er nach
Eingabe ab und schließt die Verbindung.
Mfg Steffen

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

Hab das bisherige "telnet" Code aus fhem.pl nach 98_telnet.pm ausgelagert.

Konsequenzen:

- das bisherige "attr global port XXX [global]" wird beim Hochfahren
  automatisch zu einem telnet Instanz mit dem Namen telnetPort konvertiert.

- FHEMWEB und telnet verwenden gemeinsam TcpServerUtils.pm, d.h. FHEMWEB kennt
  jetzt das allowfrom Attribut, und telnet hat SSL gelernt. Der Code sollte
  wegen der Zusammenfuehrung insgesamt auch etwas kleiner geworden sein.

- man kann mehrere "telnet" Ports oeffnen, und diese mit unterschiedlichen
  Attributen belegen. Auch die hergestellten Verbindungen sieht man jetzt im
  list analog zu den FHEMWEB Verbindungen, und man kann mit "delete" solche
  explizit schliessen.

- rereadcfg schliesst alle Verbindungen ausser dem aktuellen, sowas koennte
  evtl. FHEM2FHEM beeintraechtigen, auch wenn F2F die Verbindung automatisch
  wieder herstellt.

- das vor kurzem eingefuehrte global Attribut portpasswort ist wieder passe, es
  existiert aber natuerlich ein telnet Attribut password und ein
  globalpassword, letzteres ist beim lokalen Verbindungen inaktiv (wichtig fuer
  den FritzBox)

- das globale Parameter allowfrom ist auch passe und wird auch nicht
  konvertiert! telnet hat natuerlich ein allowfrom, dieser ist jetzt statt
  Komma separierte Liste ein regexp geworden.

- Aenderung: falls man in FHEMWEB HTTPS aktiviert hat, dann werden HTTP
  Verbindungen nicht mehr akzeptiert. Gilt auch fuer telnet/SSL, den gabs aber
  bisher nicht :)

- Falls man im telnet SSL aktiviert hat, dann sollte man statt telnet einen der
  folgenden Kommandos verwenden:
    socat openssl:fhemhost:fhemport,verify=0 readline
    ncat --ssl fhemhost fhemport
    openssl s_client -connect fhemhost:fhemport

- telnet beteiligt sich jetzt auch an SecurityCheck, abschalten kann man die
  Meckerei mit "attr global motd none", oder man setzt die Passwoerter.
  Fuer den Fritzbox kann man netuerlich, wie kuerzlich eingefuehrt, das
  "eingebaute" Passwort verwenden mit:
    attr telnetPort globalpassword\
          {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
  Das password Attribut sollte man beim FritzBox meiden, sonst funktioniert
  "fhemcmd" nicht (triggern von fhem uebers Telefon)

Ich habs (gefuehlt) relativ viel getestet, aber Garantien uebernehme ich
keine. :)

Gruss
  Rudi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Wie kann ich per Dyndns(Fritzbox) auf Telnet-Fhem zugreifen, muss ich da
> noch was in Fhem erlauben oder Freischalten??

Falls man mit Dyndns "aus dem weiten Internet und nicht vom lokalen Netz"
meint, dann gibt es dafuer zwei Moeglichkeiten:

- VPN zu FritzBox einrichten, damit ist man wieder im lokalen Netz :)

- telnet Port im Fritzbox nach Aussen freischalten. Letzteres geht mWn nur
  ueber "Hacks" (Dateien auf dem FB bearbeiten), und ich wuerde sowas
  nur mit dem vor paar Minuten freigegebenen fhem empfehlen, wenn man fuer
  das freigegebene Port SSL und Passwort aktiviert hat.

  Das "alte" fhem bietet nur unverschluesselte, und mit Passwort nicht
  gesicherte telnet Verbindungen an.

Leider enthaelt nur die 7390-er Perl Installation das SSL Modul, HTTPS und SSL
funktionieren also nicht auf dem 7270/7170, hier bleibt nur VPN.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Rudi,

danke für die Änderungen.

Ich habe ein update meines Debian-Servers sowie der Fritzbox 7390
gemacht und telnet mit Password und SSL getestet.
"updatefhem preserve" hat mehr als 15 Minuten gedauert, weil das
Backup angelegt wurde...

Anbei meine Kommentare zu meinen jeweiligen Tests.

> - das bisherige "attr global port XXX [global]" wird beim Hochfahren
>   automatisch zu einemtelnetInstanz mit dem Namen telnetPort konvertiert.

Hat bei mir problemlos funktioniert.

> - das vor kurzem eingefuehrte global Attribut portpasswort ist wieder passe, es
>   existiert aber natuerlich eintelnetAttribut password und ein
>   globalpassword, letzteres ist beim lokalen Verbindungen inaktiv (wichtig fuer
>   den FritzBox)

Hat funktioniert.
Bei commandref.html ist ein kleiner Tippfehler.

Statt
"attr tPort globalpasswort mySecret"
sollte es heissen
"attr tPort globalpassword mySecret"

Also globalpassword mit "d" statt "t"

>- Falls man im telnet SSL aktiviert hat, dann sollte man statt telnet einen der
>  folgenden Kommandos verwenden:

Danach habe ich probiert auf der Fritzbox 7390 SSL zu aktivieren.
Das funktioniert nicht:

2012.06.24 18:23:36 1: Can't locate IO/Socket/SSL.pm in @INC (@INC
contains: /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/mips-
linux /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/mips-
linux /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2 /var/
InternerSpeicher/fhem/lib/perl5/5.12.2/mips-linux /var/
InternerSpeicher/fhem/lib/perl5/5.12.2/mips-linux /var/
InternerSpeicher/fhem/lib/perl5/5.12.2 /opt/lib/perl5/site_perl/5.12.2/
mips-linux /opt/lib/perl5/site_perl/5.12.2 /opt/lib/perl5/5.12.2/mips-
linux /opt/lib/perl5/5.12.2 . ./FHEM) at (eval 14) line 2, <$fh> line
16.
2012.06.24 18:23:36 1: Can't load IO::Socket::SSL, falling back to
HTTP

Ich setze aktuell
  Firmware: FRITZ!OS 05.21
  Firmware-Version: 84.05.21
ein.

Brauche ich eine neuere Version?

Würde danach überhaupt noch FHEM2FHEM raw funktionieren? Bei FHEM2FHEM
scheint es SSL noch nicht zu geben. Wenn ich dann TELNET auf SSL
umstelle, funktioniert die Verbindung doch vermutlich nicht mehr,
oder?

MfG Willi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Also globalpassword mit "d" statt "t"

Danke, verbessert.


> Brauche ich eine neuere Version?

SSL ist in den aktuellen fhem Paketen von fhem.de/AVM dabei, seit etwa Maerz.


> Würde danach überhaupt noch FHEM2FHEM raw funktionieren?

Mit SSL noch nicht, aber man kann mehrere Ports oeffnen, mit unterschiedlichen
Attributen :) Muss mal schauen, dass ich SSL aktiviere, ist einfach,
IO::Socket::SSL ist sehr intelligent gemacht.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Muss mal schauen, dass ich SSL aktiviere, ist einfach,
> IO::Socket::SSL ist sehr intelligent gemacht.

Hab SSL zu FHEM2FHEM hinzugefuegt (define F2FH FHEM2FHEM fhemhost:
7072:SSL LOG:.*), und wenn ich schon dabei war, hab in GetFileFromURL
auch https engebaut.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Dr. Boris Neubert

                                             

Hallo,

Am 25.06.2012 09:01, schrieb Rudolf Koenig:
>> Muss mal schauen, dass ich SSL aktiviere, ist einfach,
>> IO::Socket::SSL ist sehr intelligent gemacht.
>
> Hab SSL zu FHEM2FHEM hinzugefuegt (define F2FH FHEM2FHEM fhemhost:
> 7072:SSL LOG:.*), und wenn ich schon dabei war, hab in GetFileFromURL
> auch https engebaut.

gute Maßnahme, dadurch wird ohne ein Bit zu flippen Calendar auch mit
https-URLs von Google laufen.

Ich stand am Wochenende auch davor, https einzubauen, habe aber davon
Abstand genommen, weil use IO::Socket::SSL einen hübschen Rattenschwanz
an Abhängigkeiten nach sich zieht. Gibt es schon Erfahrungen auf den
"kleinen" Systemen?

Grüße
Boris

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

                                                   

> Gibt es schon Erfahrungen auf den "kleinen" Systemen?

Auf dem  FB7390 funktioniert es, dank AVM ist das SSL Paket seit Maerz
vorhanden, da habe ich den HTTPS Server viel getestet.  Auf dem FB7270/7170 ist
SSL (noch?) nicht vorhanden, falls Interesse besteht, kann ich mich dran
versuchen.  Auf "richtigen" Linux Systemen wie debian/ubuntu/etc ist es einfach
nachzuinstallieren (apt-get install libio-socket-ssl-perl oder so aehnlich :),
unter OSX ist es "von Haus aus" dabei, aber OSX zaehlt nicht so recht als
kleines System.  Zu Synology/etc kann ich nichts sagen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

borsti67

                                                 

>> Gibt es schon Erfahrungen auf den "kleinen" Systemen?
> Auf dem FB7270/7170 ist SSL (noch?) nicht vorhanden,
>Zu Synology/etc kann ich nichts sagen.

Aber ich - auf DS211J mit DSM 4.0 ist es ebenfalls nicht dabei.
Nachinstallieren mit CPAN geht zwar, aber leider immer nur bis zu einem
Update des OS, danach ist immer wieder der von Synology
vorgegebene/mitgelieferte Stand aktuell... :(

Gruss
T.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

rudolfkoenig

                                                   

> gibt es eigentlich die Möglichkeit, per Telnet ein behehl an Windows zu
> senden???

Meines Wissens nach geht das im Moment nur ueber eigene Programmierung
(TCP Port oeffnen, Benutzer, Passwort und Befehl schicken).

Eine etwas Umstaendliche Alternative mit weniger Programmierung waere fhem auch
auf dem Zielrechner zu installieren, und diesen via FHEM2FHEM mit dem
Steuerrechner zu verbinden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Es ist auch nicht witzig, einen solchen Unsinn zu lesen.

Wer seinen Rechner - auch im Hausnetz ! - so weit öffnet, dass per telnet
beliebige Befehle abgewickelt werden können - der sollte auch gleich seinen
Hausschlüssel an einer Kette außen neben die Eingangstür hängen.

Im 21. Jahrhundert sollte es sich auch in der Provinz herumgesprochen
haben, dass man als Computernutzer ein Minimum an Sicherheitsdenken
benötigt.

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke für die Antwort, das werde ich mal versuchen mit fhem2fhem...
Nur mal als interesse wie könnte da denn der Ansatz für eine Programmierung aussehen?
Meine Telnet zugang(Windows) ist wie bei Fhem gesichert wie der Fritzport zugang...nur so mal als info:-)....
Trotzdem nochmal danke für den Hinweis zu Fhem2Fhem
Mfg Steffen

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Nur mal als interesse wie könnte da denn der Ansatz für eine Programmierung
> aussehen?

Auf dem "Shutdown-Server", fhem faehrt hier automatisch per Dienst hoch.
  define F2F FHEM2FHEM fritz.box:7072:SSL LOG:serverName.* mySecret
  define shutDown notify serverName:shutDown "shutdown -h"

Auf dem "Fritzbox"
  define telnetPort 7072 global
  attr telnetPort SSL
  attr telnetPort globalpassword mySecret
  define serverName dummy
  attr serverName webcmd shutDown

Ausloesen auf dem Fritzbox:
  set serverName shutDown
oder in FHEMWEB neben serverName auf shutdown klicken.

serverName am besten mit dem Namen des "Shutdown-Servers" ersetzen.
(Nicht getestet)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

So eingebaut hab ich die Funktionalität. Kommt dann in der nächsten Version.

Am Donnerstag, 21. Juni 2012 12:56:27 UTC+2 schrieb Matthias:
>
> Hi.
>
> Jop den Task habe ich schon erstellt. Das mache ich aber erst wenn das
> Ganze zu default wird.
>
> Matthias
>
> Am Donnerstag, 21. Juni 2012 12:46:05 UTC+2 schrieb Guido:
>>
>>
>>> es waere nett wenn ich dazu Feedback bekommen wuerde
>>>
>>
>> Hallo Rudolf,
>>
>> basicauth funktioniert auf anhieb.
>>  Frage hierzu: nach welcher Zeit erfolgt ein Timeout, und ist dieser
>> editierbar ?
>>
>> Telnet (Putty) funktioniert auch allerdings erscheinen seltsame
>> Buchstaben vor Password und nach Eingabe
>>
>> ÿûPassword: ******
>> ÿü
>>
>> und AndFHEM müsste von Mathias angepasst werden da bei der
>> Telnetverbindung keine Passworteingabe möglich ist.
>>
>>
>> Am Donnerstag, 21. Juni 2012 10:05:37 UTC+2 schrieb Rudolf Koenig:
>>>
>>> > - falls moeglich, direkte Verwendung des FB Passwortes fuer telnet
>>> > bzw. FHEMWEB.
>>>
>>> Das ist seit heute frueh per updatefhem verfuegbar, es waere nett wenn
>>> ich dazu
>>> Feedback bekommen wuerde, weil beides demnaechst auf dem FB mit einer
>>> frischen
>>> Installation zu default wird.
>>>
>>> Howto (aus commandref.html):
>>>   # portpassword
>>>     Specify a port password, which has to be entered as the very first
>>> string
>>>     after the connection is established. If the argument is enclosed in
>>> {},
>>>     then it will be evaluated, and the $password variable will be set to
>>> the
>>>     password entered. If the return value is true, then the password
>>> will be
>>>     accepted. Example:
>>>     attr global portpassword\
>>>         {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
>>>
>>>   # basicAuth
>>>   ...
>>>     If the argument of basicAuth is enclosed in {}, then it will be
>>> evaluated,
>>>     and the $user and $password variable will be set to the values
>>> entered. If
>>>     the return value is true, then the password will be accepted.
>>> Example:
>>>     attr WEB basicAuth\
>>>         {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
>>>
>>> Ich vermute, dass Umlaute im Passwort nicht funktionieren, da die
>>> (dreist
>>> abgeschriebene :) unicode Konvertierung primitiv ist.
>>>
>>> Achtung portpassword: ich plane die telnet Verbindung in ein separates
>>> Modul
>>> (mit define) auszulagern, dieser Parameter wird demnaechst verschwinden.
>>>
>>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

gibt es eigentlich die Möglichkeit, per Telnet ein behehl an Windows zu
senden???
Wol klappt ja gut würde gerne aber per befehl "shutdown -h" meinen pc in
Ruhezustand versetzen und das über Fhem wäre super!

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com