Gibt es eine Möglichkeit, sich in PuTTY mit einem Passwort automatisch anzumelden?

328

Gibt es eine Möglichkeit, ein Passwort für eine gespeicherte Sitzung in PuTTY zu konfigurieren ?

Ich weiß, dass es die Möglichkeit gibt, einen "Benutzernamen für die automatische Anmeldung" (unter "Verbindung / Daten") anzugeben, aber gibt es eine Möglichkeit, dasselbe mit dem Kennwort zu tun?

jldupont
quelle
12
Verwenden Sie KiTTy ... es ist mit PuTTy Quellcode entwickelt ..
Apple II
5
Verwenden Sie Schlüsselpaare, keine Passwörter
ladieu
2
... und hier ist eine Liste von Benutzern, die unsichere Passwortpraktiken haben. 😜
ashleedawg

Antworten:

369

Für einige Versionen von PuTTY ist es so einfach wie eine der folgenden:

putty.exe [email protected] -pw mypassword
putty.exe somewhere.com -l mylogin -pw mypassword

Wenn Sie eine Verbindung über SSH herstellen möchten, verwenden Sie Folgendes :

putty.exe -ssh [email protected] -pw mypasswordforsomewherecom

Für Benutzer von Windows können Sie einfach eine Verknüpfung erstellen und diese Parameter übergeben.

Zum Beispiel:

  1. Erstellen Sie auf dem Desktop eine Verknüpfung zu putty.exe
  2. Benennen Sie die Verknüpfung in umPuTTY - server.com
  3. Klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie Eigenschaften
  4. Ändern Sie das Ziel wie folgt : "C:\Program Files\PuTTY\putty.exe" [email protected] -pw password
  5. Klicken OK

Wenn Ihr PuTTY den pwParameter nicht unterstützt , benötigen Sie einen öffentlichen Schlüssel, wie in:
Erstellen und Kopieren Ihres Schlüsselpaars im PuTTY SSH-Client erläutert .

Harrymc
quelle
7
@aglassman und andere - Sie legen natürlich Wert auf die Sicherheit Ihrer Server usw. Das unverschlüsselte Speichern von Passwörtern ist im Allgemeinen keine gute Idee. RSA-Schlüssel sind der richtige Weg. Verwenden Sie es für den Zugriff auf Dinge wie Raspberry Pi, bei denen es mir egal ist, wer es verwendet - danke!
Wilf
15
Die Frage war nicht, ob man sollte oder nicht, es war "wie".
Harrymc
3
Lol, diese Antwort würde nie in der Informationssicherheit fliegen ... Genau deshalb gehört es auf Superuser :)
So
2
Ich möchte diese Antwort wirklich nicht aufschreiben, da - wie Harrymc sagte - die Frage lautete, wie und nicht ob , sondern nur darüber nachgedacht wird, wann und wo RSA-Schlüssel implementiert werden sollen. Es gibt einige gültige Stellen, an denen auf diese Weise kein Schaden angerichtet wird (und dies ist definitiv schneller einzurichten). Denken Sie jedoch daran, dass ein Angreifer den Server durch eine winzige Sicherheitslücke (Tech oder No-Tech) an einen solchen Client weitergibt eine silberne Tablette (die, wie oben erwähnt, in manchen Fällen jedoch kein Problem darstellt).
Levit
105

Es wird dringend empfohlen, die Mechanismen für öffentliche Schlüssel zu verwenden, anstatt Kennwörter über die Shell zu senden.
Hier ist noch eine Referenz für das Setup .

Link, um die neuesten PuTTY- Binärdateien zu erhalten (und lesen Sie die FAQ ) .

nik
quelle
8
+1 für den richtigen Weg. Das Speichern von Passwörtern im Klartext ist keine gute Idee.
Zac B
12
@nik Versteh mich nicht falsch, du hast recht. Dies ist jedoch eine Superuser-Site, wenn ich mich automatisch mit einem Kennwort anmelden möchte. Sie können davon ausgehen, dass ich einen guten Grund habe, dies zu tun.
Matt
1
@ZacB - Ich bin neu in der Sicherheit. Wenn ein Angreifer Root-Zugriff auf Ihr System hat, kann er dann nicht einfach alle Ihre Tastatureingaben protokollieren, Ihre Videos usw. aufzeichnen und trotzdem alle Ihre Anmeldungen und dergleichen abrufen? Natürlich muss der Angreifer bei der Speicherung von einfachem Text nicht mehr all diese Anstrengungen unternehmen, oder?
Steam
3
@Steam: Sie haben Recht, ein kompromittiertes System ist eine wirklich schlechte Sache. Dies ist jedoch kein Grund, keinen sekundären Bedrohungsschutz (nach einem Verstoß) zu haben. Wenn ein System auf Root-Ebene kompromittiert wird, sollte es für den Angreifer so schwierig wie möglich sein, andere Teile Ihrer Infrastruktur zu kompromittieren, und es sollte so wahrscheinlich wie möglich sein, dass sie dabei erkannt werden. Das Abrufen eines Keylogs erfordert ein anhaltendes Eindringen (das mit größerer Wahrscheinlichkeit erkannt wird) und die Installation einer neuen, auffälligen Software. Das Stehlen einer Textdatei funktioniert nicht.
Zac B
Ich war im Unternehmens-VPN, als ich versuchte, PuTTY von dieser Site herunterzuladen, und es wurde verhindert, weil es einen Virus enthielt!
OmarOthman
41

Ich benutze WinSCP, um mich in PuTTY mit einem Passwort automatisch anzumelden. Es ist kostenlos, enthält viele Funktionen, wurde im Jahr 2000 erstellt und wird immer noch aktiv gepflegt. ( WinSCP Wikipedia Seite )

Bildbeschreibung hier eingeben

Das Öffnen von PuTTY über WinSCP kann entweder über das Anmeldefenster oder über das SFTP-Fenster erfolgen, was ich als äußerst praktisch empfinde:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Franck Dernoncourt
quelle
Diese Methode funktioniert in meinem Fall nicht
ZhaoGang
@ ZhaoGang ~ warum?
Franck Dernoncourt
Ich weiß es nicht. Befolgen Sie Ihre Schritte, aber dennoch ist ein Passwort erforderlich.
ZhaoGang
@ZhaoGang Vergewissern Sie sich, dass Sie Ihr Passwort in das Feld "Passwort" des Anmeldebildschirms vor PuTTY eingeben (zweiter Screenshot), und aktivieren Sie die Option im ersten Screenshot.
Franck Dernoncourt
2
Danke, das funktioniert immer noch!
Xonshiz
24

Wenn Sie gespeicherte Optionen (wie vorkonfigurierte Fenstergrößen und Tunnel-Proxy) beibehalten und eine gespeicherte Sitzung zum automatischen Anmelden laden möchten, verwenden Sie diesen Ansatz: http://www.shanghaiwebhosting.com/web-hosting/putty-ssh -auto-login

putty.exe -load my_server -l your_user_name -pw your_password

Wobei 'my_server' ein gespeicherter Sitzungsname ist.

datasn.io
quelle
16

PuTTY Connection Manager ist ein separates Programm, das mit PuTTY zusammenarbeitet. Es kann sich automatisch anmelden und verfügt über eine verschlüsselte Datenbank, in der die Passwörter gespeichert sind.

Ich bevorzuge allerdings immer noch SSH-Schlüssel.

(Ein weiterer Nachteil ist, dass es möglicherweise nicht mehr von den ursprünglichen Entwicklern unterstützt wird und nur von Drittanbieterquellen heruntergeladen werden kann.)

Robin Moffatt
quelle
1
Wenn Sie eine Passphrase für SSH-Schlüssel verwenden, ist die Verwendung von SSH-Schlüsseln dann nicht genauso schwierig wie bei normalen Benutzernamen und Passwörtern?
Buttle Butkus
12

Es gibt einen PuTTY-Port namens KiTTY , mit dem Benutzername / Passwort gespeichert werden können.

Die kitty_portable.exe ist sehr praktisch; Es ist keine Installation erforderlich.

user178047
quelle
10

Ich verwende mRemote unter Windows. Es kann Benutzernamen und Passwörter für SSH, RDP, VNC und Citrix speichern.

Dentrasi
quelle
Ich fand diesen hübschen Buggy auf Win7. Das Ziehen des Fensters verursachte größere Hänge. Schade, denn ansonsten ist es toll.
jsims281
9

Ja, es gibt einen Weg. Kürzlich habe ich eine Funktion zum Speichern von Passwörtern für PuTTY 1.5.4 für Linux und Windows hinzugefügt. Sie können Binärdateien und den Quellcode von Oohtj: PuTTY 0.62 mit einer Passwortspeicherfunktion herunterladen .

oohtj
quelle
7

Tunnelier - gespeicherte Passwörter, lokal verschlüsselt. Es hat auch eine SFTP-GUI sowie SSH-Fenster.

Bildbeschreibung hier eingeben

eristoddle
quelle
6

Das Kombinieren von zwei verschiedenen Paketen für eine Sicherheitslösung kann gefährlich sein. Dies ist die reine PuTTY-Methode, bei der nur Software von der PuTTY-Site verwendet wird.

Sie sollten zuerst mit PuTTYgen ein Schlüsselpaar erstellen, dann den privaten Schlüssel in PuTTY installieren und den öffentlichen Schlüssel auf die entfernte Site kopieren. Hier erfahren Sie, wie Sie dies tun.

Laden Sie PuTTYgen herunter und führen Sie es aus, um einen SSH2-RSA-Schlüssel zu generieren. Ich würde mindestens 4098 Bits verwenden. Klicken Sie auf die Schaltfläche Generieren, bewegen Sie die Maus, bis das Schlüsselpaar generiert ist.

Bildbeschreibung hier eingeben

Sobald es generiert ist, sieht Ihr Bildschirm folgendermaßen aus: Bildbeschreibung hier eingeben

Beschreiben Sie das Konto im Feld "Schlüsselkommentar". Speichern Sie dann den privaten Schlüssel in einer Datei und den öffentlichen Schlüssel in einer anderen Datei.

Ihr öffentlicher Schlüssel sieht folgendermaßen aus:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20160822"
AAAAB3NzaC1yc2EAAAABJQAAAgEA5Kp+G9z8eE0MpPZL9JZksstIa3L9JEND6ud1
1IiD6f1jw/7Lv7CvZcCdk/OVMT+DlTbryRoqfbNMLkjajqNTUGBAscTduUtPYuQt
YEQgtbJd/hyHtTHK9X/wiKeQr7LjHZcEg3osYh+MzZFscldQM/a/Z26AKh81EC9X
uIu98snjOBM0ysb14Uu7hMvti5Xd3kSW7ctL2j1ORuRgZX6LHihaezvsBFI5S/lZ
4v/yxymRKQnyV6OkMNMXESJpXh3cTMIIGtDJtbbYvh5Qs0f3O1fMiQYyz2MjGphd
zBihq85a1SHx0LBk31342HsCiM4el//Zkicmjmy0qYGShmzh1kfZBKiBs+xN4tBE
yjRNYhuMGP2zgpr9P/FO1buYdLah5ab3rubB5VbbRP9qmaP2cesJS/N91luc099g
Z+CgeBVIiRr1EYTE8TqsSBdvmu3zCuQgDVcSAoubfxjM4sm3Lb6i4k4DJmF57J6T
rcyrSIP9H/PDuBuYoOfSBKies6bJTHi9zW2/upHqNlqa2+PNY64hbq2uSQoKZl1S
xwSCvpbsYj5bGPQUGs+6AHkm9DALrXD8TX/ivQ+IsWEV3wnXeA4I1xfnodfXdhwn
ybcAlqNrE/wKb3/wGWdf3d8cu+mJrJiP1JitBbd4dzYM0bS42UVfexWwQSegDHaw
Aby0MW0=
---- END SSH2 PUBLIC KEY ----

Sie müssen dies in ein Formular ändern, das für Ihre Remote-Site geeignet ist. Nehmen wir an, es handelt sich um eine Linux-Maschine, die ssh verwendet.

Bearbeiten Sie die Datei so, dass sie drei Felder enthält:

  1. Der erste sollte "ssh-rsa" sagen
  2. Der zweite sollte Ihr öffentlicher Schlüssel in einer Zeile ohne Leerzeichen sein.
  3. Der dritte ist ein Kommentar - der Ihrem Schlüsselkommentarfeld entsprechen kann.

Also sollte es so aussehen, wenn Sie fertig sind

SSH-RSA- AAAAB3NzaC1yc2EAAAABJQAAAgEA5Kp + G9z8eE0MpPZL9JZksstIa3L9JEND6ud11IiD6f1jw / 7Lv7CvZcCdkOVMT + DlTbryRoqfbNMLkjajqNTUGBAscTduUtPYuQtYEQgtbJdhyHtTHK9XwiKeQr7LjHZcEg3osYh MzZFscldQMaZ26AKh81EC9XuIu98snjOBM0ysb14Uu7hMvti5Xd3kSW7ctL2j1ORuRgZX6LHihaezvsBFI5SlZ4vyxymRKQnyV6OkMNMXESJpXh3cTMIIGtDJtbbYvh5Qs0f3O1fMiQYyz2MjGphdzBihq85a1SHx0LBk31342HsCiM4elZkicmjmy0qYGShmzh1kfZBKiBs + + + xN4tBEyjRNYhuMGP2zgpr9PFO1buYdLah5ab3rubB5VbbRP9qmaP2cesJSN91luc099gZ CgeBVIiRr1EYTE8TqsSBdvmu3zCuQgDVcSAoubfxjM4sm3Lb6i4k4DJmF57J6TrcyrSIP9HPDuBuYoOfSBKies6bJTHi9zW2upHqNlqa2 + PNY64hbq2uSQoKZl1SxwSCvpbsYj5bGPQUGs 6AHkm9DALrXD8TXivQ + + + IsWEV3wnXeA4I1xfnodfXdhwnybcAlqNrEwKb3wGWdf3d8cu mJrJiP1JitBbd4dzYM0bS42UVfexWwQSegDHawAby0MW0 = RSA-Key-20.160.822

Persönlich würde ich die Datei auf den Linux-Rechner kopieren und dann bearbeiten, da Editoren wie vim gegenüber langen Zeilen viel toleranter sind. Ich würde den 'J'-Befehl verwenden, um zwei Zeilen zu verbinden, dann nach Leerzeichen zu suchen und die Leerzeichen zwischen den Zeilen zu löschen. Als ich diese Datei nach Windows kopierte, bestand das System darauf, die einzelne lange Zeile in mehrere Zeilen mit "\" zwischen den Zeilen aufzuteilen. Yuck. Weitermachen...

Melden Sie sich auf dem Remote-Computer an, kopieren / bearbeiten Sie den öffentlichen Schlüssel und hängen Sie ihn im gleichen Format wie die anderen Schlüssel an die Datei ~ / .ssh / authorized_keys an. Es sollte eine einzelne Zeile sein. In einer Zeile sollten drei Felder stehen. Das erste sagt "ssh-rsa". Der zweite ist der Schlüssel, der mit den Zeichen "=" enden soll. Das dritte Feld ist optional und enthält das, was Sie in das Feld "Schlüsselkommentar" eingegeben haben.

Wenn Sie zum ersten Mal die Datei ~ / .ssh / authorized_keys erstellt haben, stellen Sie sicher, dass das Verzeichnis und die Datei nicht für Gruppen oder für die Welt lesbar sind.

Sobald dies erledigt ist, müssen Sie eine PuTTY-Sitzung erstellen, in der der private Schlüssel verwendet wird.

Gehen Sie in der PuTTY-Sitzung zu Connection => SSH => Auth und klicken Sie auf Browse. Wählen Sie dort aus, wo Sie Ihren privaten Schlüssel gespeichert haben. "It's a * .ppk" -Datei. Bildbeschreibung hier eingeben

Speichern Sie dann diese Sitzung (ich gehe davon aus, dass Sie auch das Konto, die IP-Adresse usw. eingerichtet haben).

Sobald dies erledigt ist, müssen Sie nur noch die Sitzung auswählen und sind angemeldet.

Eine sicherere Möglichkeit ist das Speichern Ihres privaten Schlüssels in einer verschlüsselten Datei unter Verwendung einer Passphrase. Verwenden Sie dann Pageant , um Ihre Passphrase zu verwalten. Auf diese Weise wird der private Schlüssel immer verschlüsselt, und Sie müssen nur gelegentlich eine Passphrase eingeben.

Bruce Barnett
quelle
Mit diesen detaillierten Anweisungen ist es nicht schwer, loszulegen. Mit Pageant sind Sie absolut sicher und ich muss mein Passwort beim Start nur einmal für alle meine Schlüssel eingeben.
Noumenon
4

Wenn Sie die folgende Methode verwenden, vergessen Sie nicht, "" den Namen Ihrer Sitzung einzufügen, da sonst die Sitzung möglicherweise nicht geladen werden kann. Zum Beispiel,

putty.exe -load "my session name", 

Die allgemeine Form ist:

putty.exe -load my_server -l your_user_name -pw your_password
Stechpalme
quelle
4

Ich mache das lieber auf einem Windows-Computer. Speichern Sie die ausführbare PuTTY-Datei in einem Ordner, sagen Sie "mytools", und führen Sie diesen Befehl an der Eingabeaufforderung aus:

tools>mytools 10 

10 ist das letzte Oktett Ihrer IP-Adresse . Das ist es.

@ECHO OFF
set PUTTY=E:\tools\putty.exe
start %PUTTY% [email protected]. %1 -pw yourpassword
oorda
quelle
Perfekt. Aber auf diese Weise gehen alle Farbanpassungen verloren und ich bleibe bei dem hässlichen PuTTy-Farbschema. Ich habe diese regDateien igvita.com/2008/04/14/custom-putty-color-themes als mein Farbschema hinzugefügt , aber kann ich es irgendwie verwenden?
Em Ae
3

Wenn die Verbindung durch einen öffentlichen Schlüssel und ein Kennwort authentifiziert wird, sollten Sie Pageant verwenden, das Teil der PuTTY-Suite ist.

Sie können Ihre privaten Schlüssel mit dem zugehörigen Passwort zu Pageant hinzufügen. Vorausgesetzt, Sie haben den richtigen Benutzernamen in PuTTY konfiguriert, werden Sie transparent authentifiziert.

Ihre Passwörter werden nicht gespeichert, sodass Sie Ihren Schlüssel beim nächsten Start erneut hinzufügen müssen. Es gibt eine Befehlszeilenoption zum Starten und Hinzufügen von Schlüsseln auf einmal.

"C:\Program Files\PuTTY\Pageant.exe" key1.ppk key2.ppk key3.ppk

Bei Bedarf werden Sie zur Eingabe eines Kennworts aufgefordert.

Und das Beste von allem ist, dass es Teil der PuTTY-Suite ist, sodass Sie es wahrscheinlich bereits auf Ihrem Computer haben.

Basic
quelle
1

Installieren Sie MTPuTTY und Ihr Problem sollte gelöst sein. Sie können sogar eine Reihe von Skripten ausführen, nachdem Sie sich bei Putty angemeldet haben.

Smaragdhieu
quelle
1

Ich möchte mehr über Emrald214s Antwort auf MTPutty als eine nette freie Software erklären.

MTPutty - Putty mit mehreren Registerkarten (tragbare Version aufgrund von Einschränkungen bei der Unternehmensinstallation für viele Benutzer), da es die Verbindung zu vielen Servern erleichtert und mit dieser kostenlosen Software in Ordnern organisiert werden kann.

  1. Sie können Ihr Benutzername-Passwort in der Sitzungseinstellung selbst speichern Bildbeschreibung hier eingeben
  2. Sie können automatisierte Befehle auslösen, nachdem Sie sich auf der Registerkarte "Skript" einer neuen Verbindung angemeldet haben. Dies ist sehr hilfreich, wenn Sie beim Starten Ihrer Sitzung einige Skripts (insbesondere Alias-Skripts) festlegen müssen. Sie können auch die Protokollierung von sesu automatisieren, dies wird jedoch nicht empfohlen, da das Kennwort im Klartext vorliegt, z Bildbeschreibung hier eingeben

Im obigen Skript wartet SLEEP zwischen den Befehlen in Millisekunden.

Hinweis:

  1. MTPutty ist nur eine Schnittstelle, daher müssen Sie auch Kitty oder Putty herunterladen, um es zu verwenden.
  2. Das Skript funktioniert nur, wenn das Kennwort gespeichert ist. Andernfalls wird versucht, das Kennwort aus dem Skript zu übernehmen: P, was zu einer fehlgeschlagenen Anmeldung führt.
  3. Es verfügt über Optionen zum Exportieren und Importieren von Sitzungen sowie über viele andere nützliche Funktionen.

Diese Software ist im täglichen Betrieb sehr hilfreich, wenn Sie mit vielen Servern arbeiten müssen.

Amol Patil
quelle
0

Wenn der Befehlsverlauf ein Sicherheitsrisiko darstellt, wählen Sie den öffentlichen Schlüssel (da Ihr in der -pwOption angegebenes Klartextkennwort im Befehlsverlauf gespeichert ist).

Ives
quelle