2009-02-22 10 views
9

Ich habe einen Schlüssel mit Kitt ohne Passphrase generiert. Putty funktioniert gut, aber jetzt habe ich Cygwin installiert und möchte mit ssh einloggen. Aus irgendeinem Grund werde ich aufgefordert, eine Passphrase einzugeben. Warum? Putty loggt gerade ein? Ich möchte nicht einen neuen Schlüssel erzeugen und die Netzwerkadministratoren ärgern. Hier ist, wie es in cygwin aussieht: $ ssh -i Dokumente \ und \ Einstellungen/xxxxx/My \ Dokumente/xxxxx \ putty \ keys/private \ key.ppk dev.xxxxxx.com Geben Sie die Passphrase für Schlüssel 'Dokumente und Einstellungen/xxxxx/Eigene Dateien/xxxxx kitty keys/private key.ppk ': Berechtigung verweigert (publickey).cygwin ssh kein Kitt ja?

+0

nicht bezogenen Programmierung ... –

Antwort

19

Putty verwendet sein eigenes .ppk-Format für Schlüsseldateien, und Cygwins ssh kann sie wahrscheinlich nicht richtig lesen.

Lösung: Konvertieren der .ppk-Datei in OpenSSH-Schlüsselformat mit Puttygen.exe.

+0

ich ein Schlüsselpaar habe ich erzeugt mit openssh und dann in Kitt-Schlüssel umgewandelt. Merkwürdigerweise funktioniert der Kitt, aber der OpenSSH funktioniert nicht. versucht mit Puttygen, aber auch kein Glück damit. irgendwelche Ideen? – user1084563

+0

@ user1084563: Also haben Sie ein Schlüsselpaar mit openssh generiert und es funktioniert nicht mit openssh? Tut mir leid, ich glaube nicht, dass Puttygen das beheben kann. Das Problem ist woanders. –

+0

Es ist wirklich nützlich. Meine Cygwin ssh Utils arbeiten jetzt! Menükonvertierungen/Export OpenSSH-Taste. Danke Joonas! – artoodetoo

2

Wenn Sie sich mit Putty anmelden können, müssen Sie nicht "die Netzwerkadministratoren verärgern". Erzeugen Sie einfach einen neuen Schlüssel mit cygwin, loggen Sie sich dann mit putty ein und legen Sie Ihren neuen öffentlichen Schlüssel in Ihre .ssh/authorized_keys Datei. Sie sollten sich nun mit cygwin's ssh einloggen können.

EDIT:

By the way, eine sichere Art und Weise zu "verpissen" jeder Admin ist unverschlüsselte Schlüssel zu verwenden.

2

Sie können PuTTY-Schlüssel in das OpenSSH-Format exportieren und an Ihre .ppk-Datei anhängen, sodass sie zu einem gültigen Schlüssel für ssh-add wird.

Exportieren Sie einfach den privaten Schlüssel mit PuTTYGen und fügen Sie ihn dann der .ppk-Datei hinzu, dann sollten Sie in der Lage sein, ssh-add hinzuzufügen. Beachten Sie jedoch, dass beim Bearbeiten der .ppk-Datei mit PuTTYGen die Datei überschrieben wird.

Sie können auch einen Skript, wie dies für das Hinzufügen einer .ppk Datei in Ihre SSH-Agenten verwenden:

file=~/`basename $0`.tmp 
trap "rm -v $file" EXIT 
echo -n "Password: " 
read -s pwd 
echo $pwd | puttygen -P -q -O private-openssh $1 -o $file 
ssh-add $file 

Quelle: http://bazaar.launchpad.net/~renatosilva/+junk/scripts/view/head:/ppk-add.sh