MySQL Datenbank über SSH

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

HDSS

Benutzer
Registriert
20. Juni 2016
Beiträge
6
Reaktionspunkte
0
Punkte
0
Hallo an alle,

mein Ziel ist es, mich auf meine Datenbank über SSH zu verbinden.
Aktuell versuche ich dies über das Programm MySQL Workbench.

Die Verbindung klappt wenn ich den SSH-ROOT-user benutze. Nun möchte ich natürlich nicht jedem Kollegen das Root-Passwort mitteilen.
Daher würde ich gerne einzelne Server-Nutzer freischalten, die sich dann auch auf die Datenbank verbinden können.

Der Benutzer kann sich bereits mit z.b. Putty über SSH auf den Server verbinden und dort hat derjenige auch die Rechte, MySQL zu öffnen.

Wenn ich jetzt in SQL-Workbench die entsprechenden Daten angebe (SSH-Benutzer und MySQL-Benutzer, welche über die Konsole funktionieren) kommt keine Verbindung zustande. (Wie bereits gesagt, mit SSH-user ROOT geht dies): Fehlermeldung: "Failed to connect to 127.0.0.1:3306 through SSH tunnel at [user]@[domain.xyz]:[PORT] with user [database-user]

Für mich ist es eine Rechteeinstellung. Leider hab ich schon ein paar Tage gesucht und nichts gefunden. (Vlt benutze ich auch aktuell falsche Suchbegriffe)

Vielen Dank für Eure Hilfe
 
Du versuchst ja über einen SSH Tunnel auf die Datenbank zu kommen.
Wenn der Datenbank Benutzer von einer Konsole aus keine Probleme hat auf die Datenbank zuzugreifen, via Tunnel allerdings schon, dann liegt es vermutlich am TCPForwarding im SSH server, welcher standardmäßig deaktiviert ist.

/etc/ssh/sshd_config
AllowTcpForwarding no


Für den user root gibt es eine Ausnahme-Definition, weshalb es mit diesem auch funktioniert.
Match User root
AllowTcpForwarding yes
 
Erst mal vielen Dank für die schnelle Antwort.

Habe mich jetzt mal auch in diese Liste aufgenommen. Aktuell hat sich noch keine Änderung ergeben.
-> zusätzlich noch einmal
Match User [user]
AllowTcpForwarding yes

1. Muss ich den Dienst jetzt neu starten? Wenn ja, wie? (Leider mit Linux noch nicht allzusehr vertraut)
synoservicectl --restart sshd

2. Wenn ich das für einzelne Nutzer freischalten konnte, kann man dafür dann auch eine Gruppe SSH definieren?
 
Zuletzt bearbeitet:
Hallo,
ja der Dienst muß neu gestartet werden
synoservicectl --restart sshd

Gruß Götz
 
Nach Neustart des SSH hat es funktioniert. Dafür schon mal ein riesen großen Dankeschön.

Bleibt noch die 2. Frage:
Gruppe für SSH freischalten?
 
Perfekt. jetzt funktioniert alles wie es soll.

folgenden Eintrag in /etc/ssh/sshd_config hinzugefügt:

Match Group [MeineSQLUserGruppe]
AllowTcpForwarding yes
PermitTTY yes

Somit kann man sich einloggen und kommt auf die Datenbank.

Spricht bezüglich PermitTTY etwas dagegen?


Vielen Dank und Gruß
 
Anders rum gefragt, wieso glaubst du PermitTTY zu brauchen?
 
Naja, die Benutzer sind in der passwd auf /sbin/nologin eingestellt.

Demnach dürften die Benutzer ja keine Berechtigung mehr haben, sich zu verbinden. Daher PermitTTY.

Liege ich da falsch?
 
imho brauchst du kein PermitTTY denn du willst den Usern ja keine lokale Konsole geben, sondern sie sollen SSH nur als Tunnel nutzen dürfen
 
Gut, dann fliegt die Zeile wieder raus.

Vielen Dank Euch allen für Eure Hilfe.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat