FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Wolfgang Hochweller am 15 Dezember 2017, 23:23:12

Titel: SSH login without password
Beitrag von: Wolfgang Hochweller am 15 Dezember 2017, 23:23:12
Wie mache ich das fuer den user fhem  ( Ubuntu ) ?
Ich weiss, wie das fuer mich selbst geht, aber fuer den user fhem ?
Brauchen tut man das z.B. im Hyperion Modul, wenn Hyperion auf einem Remotesystem laeuft, etwa auf dem Mediaplayer im Wohnzimmer.
Titel: Antw:SSH login without password
Beitrag von: DeeSPe am 15 Dezember 2017, 23:25:52
Den Ordner "~/.ssh" nach "/opt/fhem" kopieren und Rechte anpassen.

sudo cp ~/.ssh /opt/fhem
sudo chown -R fhem:dialout /opt/fhem/.ssh


Gruß
Dan
Titel: Antw:SSH login without password
Beitrag von: Wolfgang Hochweller am 16 Dezember 2017, 06:13:29
Danke,  Wolfgang
Titel: Antw:SSH login without password
Beitrag von: Wolfgang Hochweller am 17 Dezember 2017, 22:34:59
Aber noch nicht so ganz .....
Nach Kopieren und Anpassen der Rechte bekomme ich :

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password,keyboard-interactive).

Ich habe getestet, dass der User fhem sich ueber ssh passwortlos einloggen kann.
Allerdings scheint es einen Unterschied zu geben zwischen dem interaktiven Einloggen aus der Shell heraus und dem Einloggen im Programm, daher obige Fehlermeldungen.
Was kann ich tun ?
Titel: Antw:SSH login without password
Beitrag von: DeeSPe am 17 Dezember 2017, 22:57:26
FHEM läuft auch unter dem User fhem?

Gruß
Dan
Titel: Antw:SSH login without password
Beitrag von: Gasmast3r am 18 Dezember 2017, 14:24:31
hy so habe ich das gemacht


su fhem

ssh-keygen -t rsa -b 4096

sudo  sed -i -e 's/fhem:.*/fhem:x:999:20::\/opt\/fhem:\/bin\/bash/' /etc/passwd

sudo cp /etc/passwd /etc/passwd.sav

ssh-copy-id -i ~/.ssh/id_rsa user@ip

( su -c 'ssh user@ip' -s /bin/bash fhem (als root user))

Titel: Antw:SSH login without password
Beitrag von: Wolfgang Hochweller am 18 Dezember 2017, 19:42:10
Ja, FHEM laeuft unter fhem.
Es geht ja auch, interaktiv.
Die letzte Anleitung erfordert aber noch mehr Eingriffe   ...
su fhem         geht aber nur, wenn man vorher ein ( neues ) Passwort gesetzt hat.
sudo su fhem     funktioniert, aber
sudo  sed -i -e 's/fhem:.*/fhem:x:999:20::\/opt\/fhem:\/bin\/bash/' /etc/passwd    erfordert wieder das Passwort.

Bis jetzt hat mich das fhem Passwort noch nie interessieren muessen.
Wenn es nicht anders geht, kann ich das natuerlich neu setzen.
Titel: Antw:SSH login without password
Beitrag von: CoolTux am 18 Dezember 2017, 19:52:25
su = switch user

Der su Befehl beinhaltet das absetzen kompletter Befehlsketten mit dem Rechtekontext eines anderen Users. Als root ausgeführt muss man nicht mal das Passwort des Users haben was ja auch Sinn macht bei Servicekontos.

su -c 'ls -l' -s /bin/bash fhem

Führt den ls Befehl im Rechtekontext vom User fhem aus und verwendet als Shell /bin/bash

Auf die Art kann man die Daten entsprechend kopieren.
Titel: Antw:SSH login without password
Beitrag von: DeeSPe am 18 Dezember 2017, 19:57:22
Zitat von: howi42 am 18 Dezember 2017, 19:42:10
Ja, FHEM laeuft unter fhem.
Es geht ja auch, interaktiv.
Die letzte Anleitung erfordert aber noch mehr Eingriffe   ...
su fhem         geht aber nur, wenn man vorher ein ( neues ) Passwort gesetzt hat.
sudo su fhem     funktioniert, aber
sudo  sed -i -e 's/fhem:.*/fhem:x:999:20::\/opt\/fhem:\/bin\/bash/' /etc/passwd    erfordert wieder das Passwort.

Bis jetzt hat mich das fhem Passwort noch nie interessieren muessen.
Wenn es nicht anders geht, kann ich das natuerlich neu setzen.

Es muss kein Passwort gesetzt werden!

sudo su
und
su - fhem
sollten reichen.

Oder CoolTux' Version.

Gruß
Dan
Titel: Antw:SSH login without password
Beitrag von: CoolTux am 18 Dezember 2017, 20:15:33
ssh-copy-id -i ~/.ssh/id_rsa user@ip

Das wäre eigentlich der zu bevorzugende Weg der Schlüsselverteilung. Scheint aber wohl nicht immer zu gehen.
Bei meinem SLES12 Ingenieur Examen am Freitag konnte ich zwar den Schlüssel verteilen aber der User konnte sich nicht verbinden. Am Ende half nur die gute alte Methode per Copy und Paste des Inhalt der Schlüsseldatei rüber zu bringen  ::)
Titel: Antw:SSH login without password
Beitrag von: Otto123 am 18 Dezember 2017, 21:24:09
Hallo Jungs,

Ich lese hier interessiert mit und fand die erste Version von Dan beeindruckend.  :D
Da es aber dann doch noch mehr Beiträge gab steure ich gerne noch meine Variante (https://heinz-otto.blogspot.de/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html) bei, die ist fast Rückstandsfrei:  ;)
sudo cp /etc/passwd /etc/passwd.sav
sudo  sed -i -e 's/fhem:.*/fhem:x:999:20::\/opt\/fhem:\/bin\/bash/' /etc/passwd
sudo passwd fhem             # Passwort vergeben und bestätigen
su fhem                      # Als fhem einloggen, es startet eine neue session!
ssh-keygen -t rsa            # Speichert automatisch in /opt/fhem/
ssh-copy-id -i ~/.ssh/id_rsa <user>@<remote-system> # gleich den angebotenen Test machen
ssh <user>@<remote-system>   # es startet eine neue session!
exit                         # aus der ssh Test session vom Remotehost!
exit                         # aus der Anmeldung von fhem! 
sudo cp /etc/passwd.sav /etc/passwd


Gruß Otto
Titel: Antw:SSH login without password
Beitrag von: Wolfgang Hochweller am 18 Dezember 2017, 22:58:27
Danke,
aber meine Frage bleibt noch offen :

Wieso funktioniert es mit dem User fhem von einem Terminal, aber nicht aus dem Programm heraus.

Nachdem ich die meine eigenen Keys nach /opt/fhem/.ssh kopiert und angepasst habe,
kann ich ohne Probleme im Terminal mit dem Kommando

sudo su fhem

zum User fhem werden.
Ein nachfolgendes

cd

schickt mich nach /opt/fhem, dem Homedirectory von fhem, alles gut.

Mit

ssh root@ip

lande ich dann ohne Passwort auf dem Zielsystem.

Aber nicht aus dem Programm heraus.
Titel: Antw:SSH login without password
Beitrag von: Otto123 am 18 Dezember 2017, 23:04:10
Ich setze z.B. sowas direkt aus FHEM (auf einem Pi3) ab:
"ssh otto@openmediavault sudo poweroff"
Funktioniert ohne jeden Fehler und schaltet meine NAS aus.

Gruß Otto
Titel: Antw:SSH login without password
Beitrag von: Wolfgang Hochweller am 18 Dezember 2017, 23:15:03
Danke, bin  gar nicht mehr sicher, ob die Fehlermeldungen ueberhaupt Sinn machen.
Es geht ja alles, und ich kann Hyperion auf dem RemoteSystem ohne Probleme mit FHEM bedienen.

Ich habe das mal mit einer vergleichbaren Windows-Version gecheckt; da geht das ohne Meldungen.
Denke , wir koennen das abschliessen.
Titel: Aw: SSH login without password
Beitrag von: matze1999 am 18 Januar 2025, 14:28:17
Hallo,

ich mussd en alten Thread noch mal hoch holen:

ich tu mich sehr schwer damit, obwohl ich es schon zweimal vor einem Jahr hinbekommen habe.

FHEM läuft unter dem user fhem:

fhem     3251164       1 11 13:16 ?        00:07:30 /usr/bin/perl fhem.pl fhem.cfg
su fhem oder
sudo su fhem geht

und trotzdem bin ich nicht als fhem unterwegs.
whoami gibt immer "pi"

dementsprechend gibt

ssh-keygen -t rsa -b 4096
mir immer das homeverzeichnis von "pi" vor:

ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):

Wo liegt mein Fehler?

matze1999


Titel: Aw: SSH login without password
Beitrag von: matze1999 am 18 Januar 2025, 14:30:23
... noch vergessen, zwei Verbindungen habe ich schon länger mit ssh ohne login.

matze1999
Titel: Aw: SSH login without password
Beitrag von: matze1999 am 18 Januar 2025, 14:40:18
Habs gefunden  :-*

grep fhem /etc/passwd
fhem:x:999:20::/opt/fhem:/bin/false

geänderter in /bin/batch
dann klappts! Und nach su - fhem ist man als "fhem" unterwegs.



matze1999
Titel: Aw: SSH login without password
Beitrag von: Otto123 am 18 Januar 2025, 15:05:36
/bin/batch dürfte eine Windows Variante sein  ;D

So geht es ohne patchen der passwd
sudo -u fhem bash
sudo -u fhem whoami
Und so geht das Erstellen von Keys auch aus FHEM heraus, ohne Terminal auf dem FHEM Server:
https://heinz-otto.blogspot.com/2020/09/ssh-mit-public-key.html

Aber viele Wege führen zum Ziel :)

Gruß Otto
Titel: Aw: SSH login without password
Beitrag von: matze1999 am 18 Januar 2025, 15:08:43
sollte eigentlich

/bin/bash
heissen, ist auf einem pi

 8)
Titel: Aw: SSH login without password
Beitrag von: Otto123 am 18 Januar 2025, 15:09:31
dachte ich mir ;)