FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: ostseehuepfer am 03 Oktober 2016, 12:30:44

Titel: SSH Befehl senden
Beitrag von: ostseehuepfer am 03 Oktober 2016, 12:30:44
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
Titel: Antw:SSH Befehl senden
Beitrag von: CoolTux am 03 Oktober 2016, 13:04:25
Entweder Zertifikat oder sshpass (ist ein Programm)
Titel: Antw:SSH Befehl senden
Beitrag von: P.A.Trick am 03 Oktober 2016, 13:16:47
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>");

Titel: Antw:SSH Befehl senden
Beitrag von: ostseehuepfer am 03 Oktober 2016, 14:02:58
Moin,

wenn ich das zertifikat verwende muss ich dann extra einen User anlegen auf der Maschine?
Titel: Antw:SSH Befehl senden
Beitrag von: P.A.Trick am 03 Oktober 2016, 14:26:09
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).

Titel: Antw:SSH Befehl senden
Beitrag von: ostseehuepfer am 03 Oktober 2016, 14:51:44
Ok und wie mache ich das auf dem Raspberry das ganze als Fhem erstellen? melde mich da via SSH (Putty) als root an..