ssh Remote Befehle direkt ausführen Problem

Begonnen von rizo, 18 Januar 2018, 12:27:01

Vorheriges Thema - Nächstes Thema

rizo

Hallo,

erstelle einen neuen Thread, um keine anderen voll "zu müllen".

Ich möchte gerne von meinem FHem Raspi einen anderen raspi runterfahren.

Dazu habe ich folgendes gemacht:

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


Das ist von Ottos Technik Blog.

Das habe ich auf dem FHEM Raspi durchgeführt und auch auf dem anderen Raspi.

Verbindung ssh fhem@ip-adresse klappt auch, aber nur!! mit Password abfrage. Ich dachte durch den Key gebe es keine Passwordabfrage mehr.

#includedir /etc/sudoers.d
fhem    ALL=(ALL:ALL) NOPASSWD: ALL

ist auf deine Raspi`s eingefügt.

Kann mir bitte jemand helfen?

Wernieman

Du hast wirklich "ssh-copy-id -i ~/.ssh/id_rsa <user>@<remote-system>" gemacht?

Gucke doch mal bei einem Zielsystem, was denn in folgender Datei Steht:
cat /home/<user>/.ssh/authorized_keys

Du hast wirklich folgendes getestet? Un es hat funktioniert??
ssh <user>@<remote-system>

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rizo

ssh <user>@<remote-system> klappt mit Passwordeingabe.

Aber es soll doch ohne klappen...

der .ssh Ordner ist bei beiden unter /opt/fhem/.ssh
und die dateien sind alle da drin

Otto123

#3
Hi,

hat Dein zweiter pi denn einen Benutzer fhem? Wenn ja hat der Rechte sich per ssh anzumelden?
Funktioniert das  mit dem User Pi?
Hast Du eine passphrase eingegeben?

Zitat# Die Frage nach der passphrase wird zweimal mit enter quittiert, also die passphrase bleibt leer
ssh-keygen -t rsa

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rizo

AUf dem anderen Raspi ist auch Fhem installiert, also Benutzer ist vorhanden.
Ob der Rechte hat? Ich habe da nix eingestellt. Wie finde ich das raus und stell das ein?

Passphrase habe ich nicht eingegeben. Nur mit Enter quittiert.

User Pi nix eingestellt, gerade ausprobiert. Ist genau das gleiche. ssh pi@ip-adresse password eingabe erforderlich....

Otto123

hast Du den Schritt ssh-copy-id -i ~/.ssh/id_rsa <user>@<remote-system> # gleich den angebotenen Test machen
auch für Pi gemacht?

Ich habe keine Ideen mehr, bei mir hat diese Vorgehensweise bisher bei verschiedenen System auf Anhieb funktioniert.
Irgendwas hast Du anders gemacht, oder Dein System ist anders.

Ich habe es mit User fhem nie probiert, ich halte nix von der Verwendung von Service Konten.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rizo

Werde ich nachher Mal für User Pi machen. Und dann berichten.

Wernieman

Ich möchte auf meine Frage in folgender Antwort hinweisen:
Zitat« am: Gestern um 12:53:34 »

Bitte um Input für Output (= Fehlersuche)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rizo

so gerade probiert nach Anleitung. Mit User Pi geht es jetzt ohne Passworteingabe...

aber nach genau der Anleitung gemacht mit User fhem geht es nicht...

@Wernieman in der Authorized steht ein ssh-rsa key...soll ich dir den ganzen Inhalt posten?

Otto123

Hallo rizo,

das hier ist eigentlich verantwortungslos, ich würde das nie machen:
Zitat#includedir /etc/sudoers.d
fhem    ALL=(ALL:ALL) NOPASSWD: ALL
Auch kann ich Dir nur abraten, den User fhem dauerhaft für interactive Anmeldung zu verwenden.

Also sei so gut, mach es mit einem neuen User und schau Step by Step was Du für Rechte wirklich brauchst.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

ls -all /opt/fhem/
ls -all /opt/fhem/.ssh/


zeig mal was Du da hast
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

Wernieman

@rizo

Natürlich nicht! ... Du könntest aber mal vergleichen, ob da die gleichen Daten "drinstehen":
#ZielSystem:
cat /home/<user>/.ssh/authorized_keys
#FHem-Server
cat /opt/fhem/.ssh/id_rsa.pub


Wobei Du laut Deiner Beschreibung in der /home/<user>/.ssh/authorized_keys 2 Zeilen haben müstest .... und eine stimmt mit der id_rsa.pub überein.

P.S. Ich gehe jetzt einfach mal davon aus, das Du reinen RSA-Key definiert hast
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rizo

Zitat von: CoolTux am 19 Januar 2018, 13:38:05
ls -all /opt/fhem/
ls -all /opt/fhem/.ssh/


zeig mal was Du da hast
Fhem Raspi
ls -all /opt/fhem/
drwxrwxrwx 16 fhem dialout   4096 Jan 18 11:49 .
drwxr-xr-x  4 root root      4096 Nov  5 09:59 ..
drwxr-xr-x  2 fhem dialout   4096 Jan 17 12:43 backup
-rw-------  1 fhem dialout   3150 Jan 19 12:41 .bash_history
drwxr-xr-x  2 fhem dialout   4096 Jan 10 14:18 cache
-rw-rw-rw-  1 fhem dialout 229214 Jan 18 15:23 CHANGED
drwx------  3 fhem dialout   4096 Nov 19 10:58 .config
-rw-rw-rw-  1 fhem dialout  39329 Jan 10 14:09 configDB.pm
drwxrwxrwx 40 fhem dialout   4096 Nov  5 10:00 contrib
drwxrwxrwx  3 fhem dialout   4096 Nov  5 10:00 demolog
drwxrwxrwx  4 fhem dialout   4096 Nov  5 10:04 docs
drwxrwxrwx  6 fhem dialout  28672 Jan 17 12:43 FHEM
-rw-rw-rw-  1 fhem dialout  87560 Jan 19 12:46 fhem.cfg
-rw-rw-rw-  1 fhem dialout  15740 Nov  5 10:04 fhem.cfg.demo
-rwxrwxrwx  1 fhem dialout 142171 Jan 17 12:43 fhem.pl
drwxrwxrwx  2 fhem dialout  20480 Jan 19 00:00 log
-rw-rw-rw-  1 fhem dialout  36281 Jan 17 12:43 MAINTAINER.txt
drwxr-xr-x  2 fhem dialout   4096 Jan 17 15:03 .nano
-rw-rw-rw-  1 fhem dialout    935 Feb 19  2017 README_DEMO.txt
drwxrwxrwx  5 fhem dialout   4096 Jan 19 12:45 restoreDir
drwxrwxrwx  2 pi   pi        4096 Nov  5 11:52 script
drwx------  2 fhem dialout   4096 Jan 19 12:42 .ssh
drwxrwxrwx  2 fhem dialout   4096 Nov  5 10:04 unused
-rw-rw----  1 fhem root       275 Nov 19 10:40 WebStreams.txt
drwxrwxrwx  9 fhem dialout   4096 Nov  5 10:03 www


ls -all /opt/fhem/.ssh/
drwx------  2 fhem dialout 4096 Jan 19 12:42 .
drwxrwxrwx 16 fhem dialout 4096 Jan 18 11:49 ..
-rw-------  1 fhem dialout  398 Jan 19 12:42 authorized_keys
-rw-------  1 fhem dialout 1679 Jan 18 11:51 id_rsa
-rw-r--r--  1 fhem dialout  398 Jan 18 11:51 id_rsa.pub
-rw-r--r--  1 fhem dialout  222 Jan 18 11:52 known_hosts



anderer Raspi

ls -all /opt/fhem/

drwxrwxrwx 13 fhem dialout   4096 Jan 18 11:52 .
drwxr-xr-x  9 root root      4096 Jan 12 16:15 ..
-rw-------  1 fhem dialout   1405 Jan 19 12:42 .bash_history
drwxr-xr-x  2 fhem dialout   4096 Jan 11 13:49 cache
-rw-rw-rw-  1 fhem dialout 229214 Jan 18 15:22 CHANGED
-rw-rw-rw-  1 fhem dialout  39329 Jan 10 14:59 configDB.pm
drwxrwxrwx 40 fhem dialout   4096 Oct 18 17:30 contrib
drwxrwxrwx  3 fhem dialout   4096 Oct 18 17:30 demolog
drwxrwxrwx  4 fhem dialout   4096 Oct 18 17:36 docs
drwxrwxrwx  6 fhem dialout  20480 Jan 18 15:23 FHEM
-rw-rw-rw-  1 fhem dialout   1626 Jan 16 12:31 fhem.cfg
-rw-rw-rw-  1 fhem dialout  15740 Oct 18 17:35 fhem.cfg.demo
-rwxrwxrwx  1 fhem dialout 142171 Jan 18 15:23 fhem.pl
drwxrwxrwx  2 fhem dialout   4096 Jan 12 16:28 log
-rw-rw-rw-  1 fhem dialout  36281 Jan 18 15:22 MAINTAINER.txt
-rw-rw-rw-  1 fhem dialout    935 Feb 19  2017 README_DEMO.txt
drwxrwxrwx  5 fhem dialout   4096 Jan 18 15:22 restoreDir
drwxr-xr-x  2 pi   pi        4096 Oct 19 12:54 script
drwx------  2 fhem dialout   4096 Jan 19 12:42 .ssh
drwxrwxrwx  2 fhem dialout   4096 Oct 18 17:35 unused
drwxrwxrwx  9 fhem dialout   4096 Oct 18 17:41 www


ls -all /opt/fhem/.ssh/

drwx------  2 fhem dialout 4096 Jan 19 12:42 .
drwxrwxrwx 13 fhem dialout 4096 Jan 18 11:52 ..
-rw-------  1 fhem dialout 1590 Jan 19 12:21 authorized_keys
-rw-------  1 fhem dialout 1679 Jan 19 12:20 id_rsa
-rw-r--r--  1 fhem dialout  398 Jan 19 12:20 id_rsa.pub
-rw-r--r--  1 fhem dialout  444 Jan 19 12:21 known_hosts



Zitat von: Wernieman am 19 Januar 2018, 14:23:42
@rizo

Natürlich nicht! ... Du könntest aber mal vergleichen, ob da die gleichen Daten "drinstehen":
#ZielSystem:
cat /home/<user>/.ssh/authorized_keys
#FHem-Server
cat /opt/fhem/.ssh/id_rsa.pub


Wobei Du laut Deiner Beschreibung in der /home/<user>/.ssh/authorized_keys 2 Zeilen haben müstest .... und eine stimmt mit der id_rsa.pub überein.

P.S. Ich gehe jetzt einfach mal davon aus, das Du reinen RSA-Key definiert hast

Ich werde morgen nochmal von vorne anfangen und die .ssh Ordner auf dem Ziel und FHem System löschen

@Otto Lege dann morgen auch einen neuen User an

CoolTux

und ein
sudo su -s /bin/bash -c 'ssh zielhosz' fhem
ergibt was genau?
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

Wernieman

#14
Sag mal .. hat fhem nicht als Default-Gruppe fhem? Dann ist es nicht gut, wenn .ssh der Gruppe "dialout" gehört. Mache doch mal:
chown -R fhem: /opf/fhem/.ssh

Gleiches, mit angepasstem Ordner, auch gerne auf dem Zielsystem.

Hintergrund:
Durch das weglassen der Gruppe hinter dem ":" wird die "Defaultgruppe" verwendet. Ist übrigens deutlich besser, als der immer wieder gerne zitierte fhem:dialout

Fürs debugging kannst Du übrigens ssh dazu bringen, gesprächiger zu sein:
ssh -vvv .....
Und viele Infos findest Du (auf dem Zielsystem) in den Logfiles, z.B. vor dem einloggen in einem 2. Fenster:
tail -f /var/log/syslog
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html