PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSH erstellen für andere hosts



DaGrrr
07.12.02, 17:08
Hallo,

ich nutze einen Debian woody pc.
Auf diesem PC ist ssh 3.5p1-2 installiert.
Es ist so installiert, das nur SSH2 genutzt werden darf.

Ich möchte gerne einen auf diesem PC erstellten Schlüssel auf einem Windows PC installieren.
Der Win PC soll dann per Putty sich zum Debian PC konnektieren und den dafür erstellten Schlüssel benutzen.

Soll heissen:
Jeder PC der diesen Schlüssel besitzt kann /darf sich dann auf den Debian PC konnekten.

Ich habe schon ein Schlüssel auf dem Debian Rechner erstellt, mit ssh-keygen.
Es ist im Verzeichnis /root/.ssh/ ein öffentlicher (.pub) und ein privater vorhanden.

Ich denke, der öffentliche muß auf dem Windowsrechner richtig ? Soweit so gut.
Wie importiere ich den Schlüssel, so das es auch funktioniert.
Ich habe auch schon puttygen heruntergeladen (Version 0.53b).
Bei puttygen habe ich den privaten Schlüssel importiert...der öffentliche ließ sich nicht importieren. :(
Dann habe ich dort auf öffentlichen Schlüssel speichern geklickt und in putty importiert.

Jedoch erscheint beim Versuch zu connecten der Fehler:

login as: root
Server refused our key
root@xxx.xxx.xxx.xxx'password:

Der Schlüssel wurde nicht angenommen aber mit dem root passwort komme ich dennoch rein.

Was habe ich falsch gemacht ??

Grüße
DaGrrr

tomes
07.12.02, 17:18
auf dem Windows Rechner einen Schluessel erstellen.
Diesen dann auf den Debian-Rechner bringen und dort in das Homeverzeichniss des Users, der sich anmeldet, ins Verzeichniss .ssh exportieren und in authorized_keys umbenennen. Dann geht es auch mit dem Nachbar ;)
Der Schluessel ist ja so etwas wie das Password und das wird von Clienten an den Server gesendet.

T;o)Mes

DaGrrr
07.12.02, 18:35
Hallo,

hat leider nicht funktioniert. :(

Ich habe mit puttygen einen SSH2 DSA mit 2048 Bit erstellt.
Passphrase eingegeben und "save private key" und "save public key" angeklickt.
Den öffentlichen Key dann ins Verzeichnis /root/.ssh/ kopiert und als "authorized_keys" abgespeichert.

In Putty dann auch den Key ausgewählt und eingebunden.

Ich bekomme aber immernoch die Meldung:
Server refused our key

Hm?!?!?

Grüße
DaGrrr

tomes
07.12.02, 19:24
heist die standart file --> authorized_keys2
Tschuldigung ;)
Aber ich z.B. versuche schon ne ganze Weile das ganze mit zwei Linux Rechner. Der Unterschied ist, auf den einen leauft noch ne 2.9ner Version von OpenSSh, auf dem anderen eine 3.4rer Version. Bekomme das ganze auch nicht hin.
Im Moment noch keine Ahnung. Zwischen zwei 2.9ner Versionen *funct* das ganze ohe *probs*.

T;o)Mes

DaGrrr
08.12.02, 20:53
Hallo,

wegen der Downzeit des Forums, jedenfalls bei mir, kann ich jetzt erst antworten.

Danke, ich werde das wenn ich wieder zu Hause bin, ausprobieren.
Ich kann erst Donnerstag sagen ob es funktioniert hat.

Warum machst Du Dir nicht eine neuere Version rauf ?


Grüße
DaGrrr

Kung
09.12.02, 08:16
Die Pub-Key-file von Putty, die in die authorized_keys-file kommt, muß manuel auf eine Zeile getrimmt werden.

die 1. und letzte Zeile müßen rausgeschmissen werden -> '-------------Putty-----------' <- oder so ähnlich

dann die Zeilen umbrüche entfernen.

AFAIK muß das Comment noch umgeändert werden, einfach die Pub des users anschauen.

DaGrrr
12.12.02, 17:23
Hallo,

ich habe es jetzt ausprobieren können:

Dieser Schlüssel ist nicht der den ich verwenden möchte, den habe ich hier nur als Beispiel verwendet! ;)

in Putty sehe ich:

ssh-dss AAAAB3NzaC1kc3MAAABAdo5DyiPNUv2U
Owc1d7j8a+aMhDPkzFpXyIDTkJlOV08aHg2elneg
V8WS6Msdns8za4ee8oYvdMURce1UcbRu4wAAAB
UA3m30r3zHvC7s7sg0E//old3hlaUAAABAZWfvQVk
f60BexvNldkWG1xhmrff0RcRvrraWnS9VP5oe3dpa
PuTdh42IGc8BCtcWHZmp11DTBFkLMdEsWCekOA
AAAEBoSZGG9NsLRXDfqSrH+ZQAQ80oC9GbydZo
u2diXZCEFuXljfVGTDji4odnZmuKFnhgCcRt/BtCoMV
V7UqOA7so dsa-key-20021212

ssh-dss 511 b9:36:3b:8f:d9:a8:e4:b2:07:17:e5:f0:7b:e3:7a:f3

in Linux unter dem Midnight Commander siehe Bild Anhang

Was mir noch nicht klar ist.

Wo liegt der Private Schlüssel ?
auf dem Server und dem Clienten ?

Wäre nett wenn mir da jemand behilflich ist.

Danke

Grüße
DaGrrr

Kung
12.12.02, 17:46
AFIAK

muss die zeile nach deinem schlüssle wie folg lauten:
ssh-dss AAAAB3NzaC1kc3MAAABAdo5DyiPNUv2U...........V7UqOA7 so dsa-key-20021212

alles muss in eine Zeile. ggf. muß vor dem Comment( dsa-key-20021212 ) noch ein '='
ssh-dss AAAAB3NzaC1kc3MAAABAdo5DyiPNUv2U...........V7UqOA7 so= dsa-key-20021212

der Private Key bleibt NUR in DEINEM user dir unter ~/.ssh
der Pub Key kommt in die File 'authorized_keys(2) ' kann auch ohne '2' heißen

was sagt denn der sshd-log wenn du dich einloggst?

DustPuppy
12.12.02, 22:38
also, poste uns mal deine /etc/ssh/sshd_config. normalerweise funktioniert das so der key wird auf dem client erstellt und der .pub key wird dann in ~/.ssh/authorized_keys beim server kopiert oder eventuel an schon vorhanderne keys angehängt. Dann musst du in der sshd_config(beim server) noch "AllowUsers user@clienthost" eingefügen.
noch ein tipp... besser wenn du deine keys hier nicht öffentlich kundgibst ;) .

DaGrrr
13.12.02, 17:22
Hallo,

Keine Sorge... dieser Key war nur ein Beispiel.

hier mal meine sshd_config:


# Package generated configuration file
# See the sshd(8) manpage for defails

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# ...but breaks Pam auth via kbdint, so we have to turn it off
# Use PAM authentication via keyboard-interactive so PAM modules can
# properly interface with the user (off due to PrivSep)
PAMAuthenticationViaKbdInt no
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 600
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# rhosts authentication should not be used
RhostsAuthentication no
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Uncomment to disable s/key passwords
#ChallengeResponseAuthentication no

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes


# To change Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#AFSTokenPassing no
#KerberosTicketCleanup no

# Kerberos TGT Passing does only work with the AFS kaserver
#KerberosTgtPassing yes

X11Forwarding no
X11DisplayOffset 10
PrintMotd no
#PrintLastLog no
KeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net
#ReverseMappingCheck yes

Subsystem sftp /usr/lib/sftp-server

Grüße
DaGrrr

DaGrrr
13.12.02, 21:39
Juhuuu

ich habs nun doch hinbekommen ! ;) Thx all.
Ein paar Fragen habe ich noch:

Welche Art von Schlüssel ist sicherer ?
RSA oder DSA

Bei meinem Test SSH2 RSA mußte ich keine Passphrase eingeben.
Beim SSH2 DSA aber schon.
Die Verschlüsselung bei der Passphrase Eingabe ist doch schon "save" oder ?

Wie kann ich mehere Schlüssel in die authorized_keys2 einbringen ?
Irgendwas mit "cat" aber wie ?


Danke für Eure bisherige Hilfe !!

Grüße
DaGrrr

Toff
10.12.04, 15:08
Ist zwar ein uralter Thread, aber da ich nirgendwo die Lösung zu "meinem" Problem gefunden habe und ich mich wund nach einer Lösung gesucht habe, schreibe ich mal kurz hier rein um eine weitere Lösung für Leuts mit ssh-key Problemen zu haben.

Hatte mich exakt an alle "Wie verbinde ich mich mit ssh und key an meinen Server" Anleitungen gehalten. Hab zig mal Keys erstellt. Nie wollte ssh meinen Key aktzepieren. Auf die Lösung bin ich erst gekommen als ich mir mal die Logs genauer angesehen habe.

Also spasseshalbe mal mit "sshd -d -p 2222" einen zweiten ssh server im debug modus gestartet und dann mit putty auf port 2222 verbunden. Uns siehe da. Im Log steht:

debug1: trying public key file /home/username/.ssh/authorized_keys2
Authentication refused: bad ownership or modes for directory /home/username

Also mal "meinen" User mit den anderen verglichen, und voila ein debug1: trying public key file /home/username/.ssh/authorized_keys2
Authentication refused: bad ownership or modes for directory "chmod 755" war nötig.

Sofort drauf gings. Also nicht nur die Keys sind wichtig, sondern auch die Rechte des Userverzeichnisses.

CU
Toff

PS: Nicht auf diesen Thread antworten, DaGrrr Problem ist schon seit zwei Jahren gelöst!!!

ThorstenHirsch
30.05.05, 16:28
*rauskram*

Ich hab ein Problem mit putty. Ich will dort den Schlüssel verwenden, den ich mir mit SSH auf ner Linuxkiste erzeugt hab. Dazu hab ich die Datei id_rsa auf ein Laufwerk kopiert, auf das nur ich Zugriff habe und habe diese Datei in Putty ausgewählt unter "Connection -> SSH -> Private Key file for authentication", aber leider werde ich bei all meinen Rechnern, auf die ich drauf will, immer noch nachm meinem Passwort gefragt, obwohl ich dorthin schon meinen public key kopiert habe. Unter Linux (wo ich die Schlüssel erzeugt habe) funktioniert auch alles ohne Probleme - dort komme ich auf die gewünschten Rechner per pub key Authentifizierung.

Das Problem ist also, dass Putty den priv key entweder nicht akzeptiert oder gar nicht versucht eine pub-key-Session aufzubauen.

Wer weiß Rat?

Gruß
Thorsten

ThorstenHirsch
30.05.05, 16:39
Okay, 1 Schritt bin ich jetzt weitergekommen: Putty hat ein etwas anderes Dateiformat für seine Keys. Puttygen.exe konnte mir den Key ins Putty-Format übersetzen und ich hab ihn jetzt ausgewählt.

Aber Putty fragt mich leider immer noch nach dem Passwort und erweckt nicht den Eindruck, dass es den key in irgendeiner Weise benutzen würde.

ThorstenHirsch
30.05.05, 16:55
So, dann mach ich mich als Alleinunterhalter mal wieder zum Trottel, aber immerhin hab ich's selbst gelöst: mit Putty 0.58 klappt's. Aus irgendeinem mir unerfindlichen Grund hatte ich zuvor Putty 0.51 drauf.