SSH Befehl senden

Begonnen von ostseehuepfer, 03 Oktober 2016, 12:30:44

Vorheriges Thema - Nächstes Thema

ostseehuepfer

Moin moin,

bin mal wieder auf der suche nach Hilfe. Folgendes Vorhaben:

Fhem soll an den/die VDR im Haus Nachrichten absetzen. Vom Computer sende ich (nach erfolgreicher Anmeldung)
svdrpsend MESG Hallo via SSH. Danach erscheint die Meldung am TV. Die Frage ist nun wie packe ich das in Fhem. Ich habe ähnliches bereits mit Telnet gemacht über die 99_myUtils . Wie jedoch sieht das ganze für SSH aus? Und wie gebe ich das Kennwort mit?

Grüße

ostseehuepfer

CoolTux

Entweder Zertifikat oder sshpass (ist ein Programm)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

P.A.Trick

Zertifikat vorrausgesetzt benutze ich diese Funktion hier:

##########################################################
# SSH Funktion
##########################################################
sub ssh_cmd($$@) {
  my($host,$cmd,$user) = @_;

  my $ret;

  my $ssh = qx(which ssh);   
  chomp( $ssh );
  $ssh .= ' ';
  $ssh .= $user."\@" if( defined($user) );
  $ssh .= $host ." ". $cmd;
  if( open(my $fh, "$ssh|" ) ) {   
    $ret = <$fh>;
    close($fh);
  }
 
  return $ret;
}
 


Aufruf in FHEM:

ssh_cmd("<HOSTNAME>",'>CMD>',"<USERNAME>");

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

ostseehuepfer

Moin,

wenn ich das zertifikat verwende muss ich dann extra einen User anlegen auf der Maschine?

P.A.Trick

Du erstellt unter deinem FHEM User einen Key mit ssh-keygen -t rsa. Danach die Datei unter ~/.ssh/id_rsa.pub auf den zu steuernden Rechner
in der Datei ~/.ssh/authorized_keys eintragen. Wenn nicht vorhanden einfach die Datei erstellen.
Achte auf die Rechte, es sollten nur Owner-Rechte gesetzt sein! (chmod -R 700 ~/.ssh).

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

ostseehuepfer

Ok und wie mache ich das auf dem Raspberry das ganze als Fhem erstellen? melde mich da via SSH (Putty) als root an..