SSH Login mit hilfe von einem Bash Script
Hallo,
ich versuche einen Script zu schreiben, kit welchem ich mich auf verschiedenen Servern einloggen kann ohne mich ständig an die IP Adressen erinnern zu müssen.
Bei diesem Beispiel handelt es sich um eine Firewall.
Mein Problem ist, dass ich jedes mal von dem Server ausgesperrt werde. Das heisst es werden falsche Anmeldedaten übermittelt werden.
Kennt jemand das Problem und was könnte dazu die Ursache sein?
Viele Grüße
Ich
ich versuche einen Script zu schreiben, kit welchem ich mich auf verschiedenen Servern einloggen kann ohne mich ständig an die IP Adressen erinnern zu müssen.
Bei diesem Beispiel handelt es sich um eine Firewall.
# su ssh-benutzer -c "ssh -l root 10.10.10.1"
Passwort:
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
^C
Sitzung beendet, Shell wird abgewürgt … … abgewürgt.
Mein Problem ist, dass ich jedes mal von dem Server ausgesperrt werde. Das heisst es werden falsche Anmeldedaten übermittelt werden.
Kennt jemand das Problem und was könnte dazu die Ursache sein?
Viele Grüße
Ich
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 477958
Url: https://administrator.de/forum/ssh-login-mit-hilfe-von-einem-bash-script-477958.html
Ausgedruckt am: 26.04.2025 um 00:04 Uhr
22 Kommentare
Neuester Kommentar

Ein Remote root Login mit Passwort?? Wie naiv kann man nur sein?! Remote Root-Login sollte wenn möglich immer gesperrt sein und alle anderen Konten bestenfalls über SSH-Keys abgesichert werden, wer das immer noch nicht kapiert hat den sollte man 1 Monat mit Light-Bier in den Keller sperren.
Wie schon gesagt wurde wofür gibt's wohl DNS Server? Genau: Namen zu IP-Adressauflösung ist deren Hauptaufgabe.
Wie schon gesagt wurde wofür gibt's wohl DNS Server? Genau: Namen zu IP-Adressauflösung ist deren Hauptaufgabe.
Viele Grüße
Ich
Gruß ErIch
Ok - und wer so sinnlose Sachen schreibt sollte ggf. einen Monat mal ganz ohne Bier ausprobieren...
Steht hier IRGENDWAS von der Umgebung? Und die Verwendung von einer 10.10.10.x-IP deutet ja schon mal auf eine INTERNE Nutzung hin. So, was ist wenn der Zugriff auf das gesamte Subnetz da eh nur ausm Admin-Netz möglich ist? Und wo steht das es sich um nen LINUX-Server handelt und nicht z.B. um nen Switch bei dem man aus Bequemlichkeit auch den User "root" genommen hat, der da aber eben nur login-rechte und keine Schreibrechte hat?!?
Also - weniger Bier und nur weil man die Worte "ssh" und "root" sieht nicht gleich meinen das es unbedingt schlecht sein muss... Es kann auch andere Möglichkeiten zur Absicherung geben - und selbst bei SSH-Login kann man locker einstellen das sich eben User nur von bestimmten IPs anmelden können. Und wenn sich auf meinem Server root nur von genau MEINER Station überhaupt anmelden darf - wo ist das Problem mitm direkten Login? Und komm jetzt nich mit dem üblichen Viren-Kram, nen Keylogger würde eben auch meinen Userkey bzw. User-PW mitnehmen und hätte danach auch alles...
Steht hier IRGENDWAS von der Umgebung? Und die Verwendung von einer 10.10.10.x-IP deutet ja schon mal auf eine INTERNE Nutzung hin. So, was ist wenn der Zugriff auf das gesamte Subnetz da eh nur ausm Admin-Netz möglich ist? Und wo steht das es sich um nen LINUX-Server handelt und nicht z.B. um nen Switch bei dem man aus Bequemlichkeit auch den User "root" genommen hat, der da aber eben nur login-rechte und keine Schreibrechte hat?!?
Also - weniger Bier und nur weil man die Worte "ssh" und "root" sieht nicht gleich meinen das es unbedingt schlecht sein muss... Es kann auch andere Möglichkeiten zur Absicherung geben - und selbst bei SSH-Login kann man locker einstellen das sich eben User nur von bestimmten IPs anmelden können. Und wenn sich auf meinem Server root nur von genau MEINER Station überhaupt anmelden darf - wo ist das Problem mitm direkten Login? Und komm jetzt nich mit dem üblichen Viren-Kram, nen Keylogger würde eben auch meinen Userkey bzw. User-PW mitnehmen und hätte danach auch alles...
Was ich überlegen würde - wenn die Option besteht - unter den Usern die .ssh/config zu nutzen und da einfach die entsprechenden Parameter eingeben. Das geht vom einfachen
Host <derNameDenDuWillst>
Hostname <die IP deines Hosts>
bis hin dazu das du noch Parameter angeben kannst - z.B.
User : Der Benutzer den du zum login nutzen willst
Forwards kannst du hier auch angeben um Forward oder Reverse-Tunnel gleich mit zu öffnen
Da kannst du dann halt einfach das entsprechende vorbeireiten - z.B.
ssh Kunde17_HTTPServer123
würde dich dann immer direkt draufwerfen bzw. erst nen
ssh Kunde17_Jumphost
der dir die div. Tunnel aufbaut und dann
ssh_Kunde17_Tunnel_Httpserver
und schon gehst du durch die Tunnel durch...
Und ganz ehrlich - welchen USER du da verwendest ist relativ egal, ich denke die Sicherheit des Server sollte nicht davon abhängen ob sich root nun anmelden kann oder nicht (das ist nur ein ZUSATZ)...
Host <derNameDenDuWillst>
Hostname <die IP deines Hosts>
bis hin dazu das du noch Parameter angeben kannst - z.B.
User : Der Benutzer den du zum login nutzen willst
Forwards kannst du hier auch angeben um Forward oder Reverse-Tunnel gleich mit zu öffnen
Da kannst du dann halt einfach das entsprechende vorbeireiten - z.B.
ssh Kunde17_HTTPServer123
würde dich dann immer direkt draufwerfen bzw. erst nen
ssh Kunde17_Jumphost
der dir die div. Tunnel aufbaut und dann
ssh_Kunde17_Tunnel_Httpserver
und schon gehst du durch die Tunnel durch...
Und ganz ehrlich - welchen USER du da verwendest ist relativ egal, ich denke die Sicherheit des Server sollte nicht davon abhängen ob sich root nun anmelden kann oder nicht (das ist nur ein ZUSATZ)...
vermutlich darf "ich" keinen ssh-Tunnel zu test1 aufbauen
Geht denn ?
IIRR werden pro user ssh-Keys ausgehandelt bzw. vorhandene übergeben und dürfen muß der betreffende User auch.
Bei Shellaufrufen sollte ein permanenter Key da sein... ähnlich wie bei z.B. "Rsync über ssh", wonach du gern deine Lieblingssuchmaschine gefragen darfst. Oder rsnapshot ...
Sind gern Shellaufrufe als Cronjob - und sollte dann auch so gehen
Fred
Geht denn ?
su ich
ssh test1
Bei Shellaufrufen sollte ein permanenter Key da sein... ähnlich wie bei z.B. "Rsync über ssh", wonach du gern deine Lieblingssuchmaschine gefragen darfst. Oder rsnapshot ...
Sind gern Shellaufrufe als Cronjob - und sollte dann auch so gehen
Fred

sudo pacman -S sshpass
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM
Zitat von @OIOOIOOIOIIOOOIIOIIOIOOO:
Vielleicht sollte man bei den Rechten suchen? Wenn root die von mir angegebene Zeile akzeptiert, aber ein Sudo-Benutzer nicht. Was könnte da das Problem sein?
Vielleicht sollte man bei den Rechten suchen? Wenn root die von mir angegebene Zeile akzeptiert, aber ein Sudo-Benutzer nicht. Was könnte da das Problem sein?
/etc/sudoers nicht angepaßt ?
Fred

Zitat von @OIOOIOOIOIIOOOIIOIIOIOOO:
Guten Tag,
herzlichen Dank für Ihren Vorschlag.
die nachfolgende Zeile Funktioniert tatsächlich.
Aber ich wollte die Passwörter nicht irgend wo hinterlegen. Diese befinden sich alle bei mir im Kopf.
Öhm nö musst du nicht du kannst das PW genauso per read einlesen.Guten Tag,
herzlichen Dank für Ihren Vorschlag.
die nachfolgende Zeile Funktioniert tatsächlich.
$ su ssh-benutzer -c "sshpass -p "MEIN_PASSWORT" ssh -l root 10.10.10.3"
Aber ich wollte die Passwörter nicht irgend wo hinterlegen. Diese befinden sich alle bei mir im Kopf.
Btw. Wieso öffnest du eine Shell mit einem anderen User um eine SSH Session aufzumachen??? Völlig überflüssig. Scheint als ob du das Prinzip nicht so ganz verstanden hast.
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
BTW. Die Meldung besagt das dir das genannte Package fehlt. Also installiere es nach und alles wird gut.
https://www.tutorialkart.com/bash-shell-scripting/bash-read-username-and ...
Dan lieber gleich LDAP Auth und in der FW entsprechend Ports für User reglementieren.
Dan lieber gleich LDAP Auth und in der FW entsprechend Ports für User reglementieren.
siehe
man sudoers
und wie immer: es gibt viele Suchergebnisse dazu im Netz.
Es mag sein daß die nicht 100% auf das persönliche Problem passen, aber wenn man es verstanden hat, wie das läuft.
Und komisch...ich kireh´ge immer ne Passwortabfrage, es wird nur etwas "aufwendiger" wenn genau diese Abfrage nicht stattfinden soll, wegen automatischer Arbeit im Hintergund (aufwendiger hier - Zertifikate statt pw )
Fred