ssh login ohne passworteingabe [perfekt gelöst]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

ssh login ohne passworteingabe [perfekt gelöst]

Beitrag von Deejoy » 02.04.2005 13:36:33

hi,
ich möchte folgendes.
Mich auf einen externen rechner einlogen per ssh jedoch mir die passworteingabe ersparen.
Ja ich weiß mit key wäre das möglich, dazu müsste ich aber dem user einen Key verpassen und der wird von noch anderen benutzt.
Daher gibt es eine Möglichkeit sich per script eine Verbindung aufzubauen und dann wenn nach dem passwort gefragt wird die automatisch zu übergeben ?

ich denke da an sowas wie

Code: Alles auswählen

#!/bin/sh
ssh user@exserver.de
....
....
...
Zuletzt geändert von Deejoy am 02.04.2005 22:04:59, insgesamt 1-mal geändert.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 14:06:44

ja es gibt Möglichkeiten.. mittels "expect" ..

aber habe leider grad nicht genau im Kopf wie es geht..

grundlegend sollte es so funktionieren, wobei bei mir grad von expect das "Enter" nicht richtig geschickt wird.. musst mal schauen

Code: Alles auswählen

#!/usr/bin/expect

set PASSWORT meinpasswd
set USER admin

set ROUTER 192.168.1.1

spawn ssh -l $USER $ROUTER
expect -re "assword: "
exp_send "$PASSWORT\n"
interact
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 15:37:02

Hi,
danke erstmal.
hab es eben mal probiert nur sendet er das passwort viel zu früh. Der wartet erst gar nicht bis die Abfrage kommt

Benutzeravatar
tschaefer
Beiträge: 138
Registriert: 03.09.2004 09:51:48
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Garmisch-Partenkirchen, Germany
Kontaktdaten:

Beitrag von tschaefer » 02.04.2005 15:48:39

ahhhhhhhhhhhhhhhhhhh, key geht ja in deinem Fall net, hätte ich mal anständig gelesen.
:oops: :oops: :oops:
Debian bullseye
dwm-6.4
Linux bullseye 6.12.9+bpo-amd64
CPU AMD Ryzen 7 5700U
Memory total 24576M
Screenshot: http://sau.frubar.net/39339

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 15:54:51

sorry.. hab leider auch kein Buch oder sowas hier.. müsste mir erstmal was aus dem Netz ziehen und das kannst du ja auch selber..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 15:56:01

nein leider nicht mag der admin net ;)

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 16:03:56

sorry.. hab leider auch kein Buch oder sowas hier.. müsste mir erstmal was aus dem Netz ziehen und das kannst du ja auch selber..
Ja sicher aber vielleicht kannst du mir nen tip geben wo ich was finde. man sagt mir nicht sehr viel und google wirft auch nicht gerade viel raus oder ich such falsch

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 16:06:40

du kannst im Script an jeder Stelle

Code: Alles auswählen

sleep 5
z.B. um 5 Sekunden zu warten..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 16:21:30

danke das hat geholfen
Nach einem sleep 25 hat es dann geklappt.

der fehler muß dann wohl irgendwo in diesen beiden Zeilen sein

Code: Alles auswählen

expect -re "password: "
exp_send "$PASSWORT\n" 
hab nämlich jetzt die Zeile

Code: Alles auswählen

expect -re "password: " 
durch sleep ersetzt und nun klappt es auch. Also scheint er diese wohl generell nicht zu beachten sondern sendet irgendwann das passwort.
Wenn ich richtig liege ist der Enterbefehl \r also $PASSWORT\r so klappt es auch dann

Thomas_s
Beiträge: 18
Registriert: 08.03.2005 09:59:18

Beitrag von Thomas_s » 02.04.2005 16:24:41

Hier wird eine Methode mit RSH Keys und ssh-agent beschrieben:

http://www.tu-braunschweig.de/rz/services/sys/ssh/kurz

MfG

T

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 16:34:51

@Thomas_s: ähm.. er wollte keine Keys!!!

@Deejoy:

naja.. er wartet nur eine gewisse Zeit auf "assword: " und sendet dann einfach wenn der Timeout vorbei ist einfach das Passwort.. kannst das glaub ich per "set TIMEOUT 30" auch setzen..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 16:36:12

und du hattest recht mit dem "\r" .. das hatte ich vergessen ;-) man kann ja nicht alles behalten
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Thomas_s
Beiträge: 18
Registriert: 08.03.2005 09:59:18

Beitrag von Thomas_s » 02.04.2005 16:40:42

@savar

>Ja ich weiß mit key wäre das möglich, dazu müsste ich aber dem user einen Key verpassen und der wird von noch anderen benutzt.

bei dem beschriebenen Verfahren wird fuer jeden SSH Account ein eigener Key generiert. Der wird also sicher nicht noch von anderen verwendet.

MfG

T

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 16:43:18

@Thomas_s
Doch der user wird noch von anderen Benutzt auserdem hat der admin was gegen Key

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 16:44:24

Savar hat geschrieben:
@Deejoy:

naja.. er wartet nur eine gewisse Zeit auf "assword: " und sendet dann einfach wenn der Timeout vorbei ist einfach das Passwort.. kannst das glaub ich per "set TIMEOUT 30" auch setzen..
Nur mal so. ist "assword" beabsichtig ?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 16:50:06

irgendwie plan ich das nicht.. er möchte doch mehrere User mit dem Account arbeiten lassen..

ok man könnte dem einen Account, den ja alle benutzen ein Schlüsselpaar geben und dann allen Usern den Private Key.. wär auch eine Variante
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 16:50:57

"assword" ist beabsichtigt, weil es sowohl auf
"Password"
als auch auf
"password"

funktioniert :-)
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 17:56:51

ah ja ok verstanden.

Vielleicht noch ne Idee wie ich das ganze neu starten könnte wenn die Verbindung unterbrochen wird ?

Ansosnten klappt es alles pervekt

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 18:51:50

ähm.. wie meinen?? Befehl nochmal ausführen?
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 18:59:39

Nun das Script stellt mir ja jetzt eine ssh verbindung her.
Die möchte ich dauerhaft erhalten haben.
Also soll wenn z.B. ich den rechner neustarte die Verbindung automatisch wieder hergestellt werden oder wenn der andere neugestartet wird.
Kann ja mal sein das aus irgendeinen Grund die Verbindung unterbrochen wird.
Ist das der Fall soll das script gestartet werden das dann die verbindung wieder herstellt

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 19:30:18

soll das ganze dann überhaupt interaktiv sein? oder willst du scripte darüber laufen haben?
Ich seh grad kein Problem wenn eine Verbindung unterbrochen wurde, den Befehl nochmal auszuführen.. und wozu soll denn die Verbindung automatisch aufgebaut werden? Was willst du denn machen?
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 19:46:37

das ding stellt mir eine Datenbankverbindung von einem anderen Rechner her. Maja und die Datenbankverbindung soll halt immer stehen

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 19:50:00

das ganze sehe dann so aus.

ssh -N -T -L 4000:217.77.77.63:3306 002@dbprod.xxxxx.de

Ich mach das ganze derzeit über screen aber es nervt halt wenn manchaml die Verbindung weg ist oder einer den Rechner mal neu startet. schon vorgekommen das ich es erst tage später gemerkt habe und diverse sachen nicht richtig gelaufen sind

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 02.04.2005 19:50:35

machst du ein Portforwarding mit ssh?

vielleicht bringt dir die /etc/inittab mit einem respawn Befehl etwas.. dann könnte es sein das das was du willst auch klappt..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Deejoy
Beiträge: 140
Registriert: 20.12.2003 00:09:23

Beitrag von Deejoy » 02.04.2005 19:57:43

jup klappt wunderbar muß ja den Port umleiten sonst gibt es mit der lokalen db ärger
;)
vielleicht bringt dir die /etc/inittab mit einem respawn Befehl etwas.. dann könnte es sein das das was du willst auch klappt..
Ich such gleich mal nach was man damit alles schönes machen kann. Linux ist halt noch nicht so ganz meine Welt auch wenn bei Mac OSx vieles davon drin ist

Antworten