Automatisierung der One-Time-Password-Authentifizierung

368
Kadir

Es ist möglich, sich an einem entfernten Host ohne Kennwort anzumelden, dh ssh-copy-id <host>.

Ich muss jedoch jedes Mal ein Einmalpasswort (OTP) eingeben, wenn ich mich bei einem Remote-Host anmelde. Wie kann ich diesen OTP-Teil überspringen? Kann ich eine SSH-Sitzung für eine begrenzte Zeit auf meinem PC speichern?

Ich verwende Ubuntu 16.04.02

2
[So deaktivieren Sie die SSH-Anmeldung mit Kennwort für einige Benutzer?] (http://serverfault.com/questions/285800/how-to-disable-ssh-login-with-password-for-some-users)) Sie können es möglicherweise so einrichten, dass dieser spezielle Benutzer andere Optionen hat. Seth vor 7 Jahren 0

1 Antwort auf die Frage

3
Jakuje

Der "zweite Faktor" besteht darin, dass es etwas anderes ist als ein Passwort. Daher sollte es nicht auf demselben Gerät gespeichert werden wie der erste Faktor.

Ein einmaliges Kennwort ist interaktives Challenge-Response-Verfahren. Daher ist es aus Sicherheitsgründen nicht ratsam, dieses zu automatisieren.

Aber ... es gibt ein ControlMasterFeature mit ControlPersistOption in OpenSSH, das etwas tut, das Ihre Probleme lösen könnte. Sie können mehrere SSH-Sitzungen mit einer einzigen TCP-Verbindung ausgeben und diese Master-Verbindung für einige Zeit beibehalten, nachdem das Original beendet wurde.

Wie geht das? Speichern Sie dieses Konfigurations-Snippet in ~/.ssh/config:

Host your-server ControlPath ~/.ssh/control-master-%C ControlMaster auto ControlPersist 5m 

Stellen Sie jedoch sicher, dass die erstellten Sockets ~/.ssh/control-master-%Cnicht für andere Benutzer Ihres Systems zugänglich sind, da sie sich in diesem Fall auch mit Ihrem Server verbinden könnten!