PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleines SSH Problem



patrick200K
16.08.06, 10:48
Hallo ng,

ich habe ein kleiner Problem mit meiner SSH Anmeldung.

Auf dem client gibt es einer user peter. Dieser soll sich an einen ssh-server anmelden als root.
Problem ist die authentifizierung läuft über ssh-keys.

Wenn ich jetzt "ssh server" mache sagt er "invalid user" weill er peter nicht kennt.
Wenn ich "ssh root@server" mache komm ich nicht drauf weil der key auf dem server für peter ist.

Wie kann ich mich mit dem key von peter auf den server verbinden aber dort als root ankommen? ich möchte dort nicht auch einen benutzer names peter anlegen.

Gruß Patrick

drcux
16.08.06, 11:04
Wenn ich "ssh root@server" mache komm ich nicht drauf weil der key auf dem server für peter ist.


Das verstehe ich jetzt nicht so ganz...

Wie hast du die beiden Rechner eingerichtet?

patrick200K
16.08.06, 11:20
Also:
Auf dem Client ist ein Benutzer angelegt der "peter" heist. Dieser Benutzer hat ein homeverzeichniss wo der von ihm erstellete RSA-Key liegt. (id_rsa)
Diesen Key habe ich auf dem server in der "authorized_keys" file hinterlegt.

Nun wechsel ich auf dem client zu peter "su peter".
Dann will ich mich per ssh auf den Server verbinden. Dies schlägt allerdings fehl und auf dem Server steht in der "messages" log "invalid user peter from ...."
Wenn ich nun beim connecten als user root mitgebe durch "ssh -l root server" komme ich nicht drauf weil die rsa authentifizierung fehlschlägt. der key ist ja für peter und nicht für root.

Also ist meine Frage wie ich es machen kann das sich peter per ssh an den server anmeldet, dort aber als root angemeldet wird.

Cerox
16.08.06, 11:30
Wozu legst du Peter lokal auf dem Client an? Der User muss auf dem Server existieren und dort muss unter /home/peter/.ssh/authorized_keys der Public-Key angehängt werden.

Auf deinem Linux-Client kannst du den privaten Schlüssel auch wo anders ablegen und dem SSH Client per Parameter übergeben (ich glaube Parameter i guck mal in die Manpage).

Hier (http://archiv.debianhowto.de/de/sshconfig/c_sshconfig.html) mal ein Dokument, welches das vernünftig erklärt.

drcux
16.08.06, 11:37
Wozu legst du Peter lokal auf dem Client an? Der User muss auf dem Server existieren und dort muss unter /home/peter/.ssh/authorized_keys der Public-Key angehängt werden.

Warum? Er will sich als root auf dem Server anmelden...

@patrick200K

Was passiert denn, wenn du dich auf dem Client als Peter anmeldest, also nicht "su peter"?

patrick200K
16.08.06, 11:47
Wie was passiert da? Ich kann mich anmelden aber komme dann trotztdem nicht auf den server.
Kann ich mich den nicht mit meinem key(peter) an dem server anmelden aber als root angemeldet werden?? wenn ich -l root mache oder root@server klappt es ja nicht weil dann der key nicht passt.
Bzw wenn ich auf dem sevrer auf jeden fall den Benutzer peter anmelden muss, kann ich es dann irgendwie so machen das beim anmelden automatisch ein "su root" ausgeführt wird??

patrick200K
16.08.06, 11:50
benutzer peter ANLEGEN muss meinte ich

Cerox
16.08.06, 11:50
Ich weiß nicht, ob das auch für root funktioniert, aber kann man den Key dann nicht im Home-Verzeichnis von root ablegen, um das zu verwirklichen, wie bei anderen Nutzern auch (/root) ? Kannste ja mal ausprobieren...


Warum? Er will sich als root auf dem Server anmelden...

Stimmt, dann braucht er auch den neuen Client-User peter nicht. Ich wollte nur verdeutlichen, dass der wo der Key auf dem Server hingehört und das der User dort existieren müsste.


benutzer peter ANLEGEN muss meinte ich

Und wozu willst du diesen User anlegen, wenn du dich doch sowieso als root einloggen willst?

Prinzipiell ist es natürlich besser, root Logins per SSH zu verbieten und das dann per su oder sudo zu machen. Ich meine gelesen zu haben, dass man die Passwortabfrage bei sudo auch abschalten kann, so dass du den peter in die sudoers eintragen könntest.

PS: Das Forum hat auch einen EDIT-Button.

drcux
16.08.06, 11:52
wenn ich -l root mache oder root@server klappt es ja nicht weil dann der key nicht passt.

Der key passt nicht zu dem User? Irgend etwas hast du schon bei der Grundkonfiguration falsch gemacht...

drcux
16.08.06, 11:53
Ich weiß nicht, ob das auch für root funktioniert, aber kann man den Key dann nicht im Home-Verzeichnis von root ablegen, um das zu verwirklichen, wie bei anderen Nutzern auch (/root) ? Kannste ja mal ausprobieren...

ja, der key muss nach /root/.ssh/authorized_keys

patrick200K
16.08.06, 11:59
Ich will den User peter anlegen weil ich mit diesem Benutzer auf andere Server zugreifen will als ich es mit dem Benutzer root tue.
Sprich 2 Benutzer - 2 Keys und mit den 2 keys auf unterschiedliche Server.
Nun will ich aber trotzdem auf dem Server als root ankommen wenn ich mich von user peter aus verbinde, denn ich will auf dem server keinen Benutzer peter einrichten.


ja, der key muss nach /root/.ssh/authorized_keys

Habe ich gemacht. der key von peter liegt auf dem server in /root/.ssh/authorized_keys.
Und NEIN ich habe nichts an der config falsch gemacht. Die geht einwand frei. (getestet)

Edit:

Der key passt nicht weil er so wie ich das verstehe, wenn ich mich mit root@server anmelde, er einen key von root erwartet. Da der server aber nur peter@client kennt schlägt die authentifizierung fehl.

drcux
16.08.06, 12:10
Und NEIN ich habe nichts an der config falsch gemacht. Die geht einwand frei. (getestet)


sieht man... ;)



Der key passt nicht weil er so wie ich das verstehe, wenn ich mich mit root@server anmelde, er einen key von root erwartet. Da der server aber nur peter@client kennt schlägt die authentifizierung fehl.

Dem ist nicht so...

patrick200K
16.08.06, 12:12
grml gib mir 2 min dann erstell ich den key nochmal neu und teste das nochmal. Wenns dann geht sorry und ich geb dir einen aus :)

marce
16.08.06, 12:15
also hier funktioniert das problemlos:

user xy erstellt key über ssh-keygen
user xy kopiert erstellten key per ssk-copy-id -i ... root@abc auf den anderen PC
user xy kann sich per ssh root@abc ohne PW anmelden.

wenn es so nicht tut, ist irgendwo was "falsch" konfiguriert...

patrick200K
16.08.06, 12:23
Also ich habe mich jetzt als peter am client angemeldet.
- dann mit ssh-keygen -t rsa -f /tmp/peter_key -P "" key ertsellt
- den key per scp auf den server kopiert scp /tmp/peter_key.pub root@server:/root/.ssh/authorized_keys
- sshd_config wieder angepasst

login versuch mit "ssh server"
Permission denied (publickey,keyboard-interactive).
Server message log: Invalid user peter from ::fff........

login versuch mit "ssh root@server"
Permission denied (publickey,keyboard-interactive).

Die authentifizierung geht aber ohne probleme wenn ich mit root einen key erstelle dem den server übergebe und mich dann einlogge. Geht super.

drcux
16.08.06, 12:28
- dann mit ssh-keygen -t rsa -f /tmp/peter_key -P "" key ertsellt


nach /tmp/peter_key?

Lass das "-f /tmp..." weg...

patrick200K
16.08.06, 12:32
ähhh sorry natürlich danach den erstellten key von /tmp/peter_key nach id_rsa kopiert....

patrick200K
16.08.06, 12:39
Ey wieso zur hölle geht das jetzt? Wo ist der unterschied wenn ich den Key direkt in id_rsa speicher als wenn ich den key in /tmp/bla speicher und ihn dann mit cat /tmp/bla > /root/.ssh/id_rsa packe????

Ich will das über nen Script machen alles..

Danke erstmal aber habe ich jetzt nen denkfehler oder woran liegt das jetzt??? Weil das mit key in tmp ertsellen und dann in id_rsa einfügen mache ich bei mehreren anderen Servern auch und da geht es.

marce
16.08.06, 12:40
ganz einfach: wenn Du Key in einem sep. File speicherst, welches nicht dem Standard entspricht solltest Du den auch beim Connect angeben (über -i) - da ansonsten der Key nicht übereinstimmt (id_rsa.pub gibt's evtl. nicht oder hat anderen Inhalt... -> "falscher Key")

patrick200K
16.08.06, 12:44
Em ich kopieren ja den key von der sep. datei wieder in id_rsa. Somit ist der key in der richtigen Datei. Und id_rsa.pub brauche ich doch nicht auf dem client. Die .pub datei muss ich doch dem server in die authorized_keys file übergeben, und ob ich dem Server die info aus der id_rsa.pub gebe oder aus /tmp/peter.pub ist doch egal. Es steht doch das selbe drin.
Kann ja nicht sein das das abspeichern in einem anderen Verzeichnis durch -f den key kaputt macht???

marce
16.08.06, 13:00
also wenn ich den Key in ein anderes File speichere kommt ein anderer Key hinten raus - vermutlich wird der Name im Key hinterlegt (gerade keine Lust, nachzuschauen)

patrick200K
16.08.06, 15:28
So nun läuft alles wie ich es haben will. Wenn man den Key in einer anderen File speicher kommt nix anderes raus. Das klappt alles, lag bei mir daran das die id_rsa Datei irgendwie nen error hatte. rm und touch id_rsa und jetzt geht alles.

Script läuft und alles supi. Dank euch