ist es möglich, mit Schlüsseln und von einem anderen Computer aus mithilfe eines Passworts per SSH auf den Ubuntu-Server zuzugreifen?

ist es möglich, mit Schlüsseln und von einem anderen Computer aus mithilfe eines Passworts per SSH auf den Ubuntu-Server zuzugreifen?

Ich habe einen Ubuntu-Server zu Hause und verwende SSH-Schlüssel, um mich über das Terminal von meinem Laptop aus anzumelden. Selten, aber meistens von der Arbeit aus, muss ich auf diesen Server zugreifen, aber ich möchte die Schlüssel nicht auf meinen Arbeitslaptop kopieren – dafür verwende ich lieber einfach ein einfaches Passwort.

Wenn ich also die Kennwortanmeldung über die SSH-Konfigurationsdatei aktiviere, werde ich auch auf meinem Laptop nach dem Kennwort gefragt, obwohl es Schlüssel enthält, richtig?

Gibt es eine Möglichkeit, dieses Verhalten zu stoppen?

Danke.

Antwort1

Verwenden Sie zwei private Schlüssel

Richten Sie Ihre Workstation mit dem gleichen Verfahren ein (abernichtdenselben privaten Schlüssel) wie beim Einrichten Ihres Laptops:

  • Es gibt nie einen guten Grund, einen privaten Schlüssel von einem anderen Rechner zu kopieren. Wenn Sie noch keinen neuen privaten Schlüssel auf Ihrer Workstation generiert haben, tun Sie dies jetzt. Generieren Sie auch den entsprechenden öffentlichen Schlüssel. In einem Terminal auf Ihrer Workstation:

Typ:ssh-keygen -t rsa

  • Kopieren Sie den öffentlichen Schlüssel Ihrer Workstation auf den Server. In einem Terminal auf Ihrer Workstation

Typ:ssh-copy-id [email protected]

(verwenden Sie jedoch Ihren tatsächlichen Benutzernamen und Hostnamen und geben Sie später Ihr Passwort ein, wenn Sie danach gefragt werden).

Dadurch wird der öffentliche Schlüssel Ihrer Arbeitsstation in der ~/.ssh/authorized_keysDatei für diesen Benutzer auf dem Server installiert.

  • Schritt 3 entfällt. Ab sofort können Sie sich von Ihrem Arbeitsplatz aus beim Server anmelden und müssen den geheimen privaten Schlüssel Ihres Laptops nicht mehr kopieren.

Einzelheiten

Ich nehme an, dass Sie eigentlich fragen:

  • Ich habe einen Ubuntu-Server („Home“)
  • Ich melde mich von meinem persönlichen Laptop („Laptop“) bei meinem Ubuntu-Server an.
  • Ich melde mich auch von meinem Arbeitscomputer („Workstation“) bei meinem Ubuntu-Server an.

Wie macht man das richtig?

  • Ich nehme an, ich könnte mich einfach von beiden Orten aus mit demselben Passwort anmelden. Das kann nicht der richtige Weg sein, denn alle sagen, dass die Authentifizierung mit öffentlichem Schlüssel viel besser ist als Passwörter.(A)
  • Ich nehme an, ich könnte den privaten Schlüssel einfach von meinem Laptop auf meine Workstation kopieren. Das kann nicht der richtige Weg sein, denn alle sagen, dass der private Schlüssel den Client-Rechner niemals verlassen darf.

Den Leuten wird eingebläut, dass ein Konto auf einem Server nur einen einzigen Benutzernamen und natürlich nur ein einziges autorisiertes Passwort hat.

Public-Key-Systeme wie ssh sind besser als das Passwortsystem: Ein Konto auf einem Server hat einen einzigen Benutzernamen undeine beliebige Anzahl autorisierter öffentlicher Schlüssel, alle in der ~/.ssh/authorized_keysDatei aufgeführt.

(mehr Details).

Antwort2

Es ist möglich, Ihren Laptop zur Verwendung der Schlüsseldatei zu zwingen, selbst wenn sowohl der Passwort- als auch der schlüsselbasierte Ansatz verfügbar sind. Wenn Sie sich gerade mit verbinden , bearbeiten und fügen Sie Folgendes hinzu:ssh [email protected] -p 22~/.ssh/config

Host your.host.tld
    PreferredAuthentications publickey

Mit dieser Konfigurationsdatei können Sie noch weniger tippen:

Host home
    Hostname your.host.tld
    User user
    PreferredAuthentications publickey
    Port 22

Mit dieser Konfiguration brauchen Sie nur ssh home.

Es ist möglich, passwortbasierte Anmeldungen auf eine bestimmte IP-Adresse zu beschränken. In /etc/ssh/sshd_confighätten Sie eine Zeile, die die passwortbasierte Authentifizierung deaktiviert: PasswordAuthentication no. Um sie für Anmeldungen von einer bestimmten IP zu aktivieren, könnten Sie Folgendes verwenden:

Match Address 12.34.56.78
    PasswordAuthentication yes

Ich empfehle Ihnen, auch bei der Arbeit eine schlüsselbasierte Authentifizierung zu verwenden. Sie ist viel sicherer als eine kennwortbasierte Authentifizierung, da sie nicht so leicht mit Brute Force geknackt werden kann. Sie können mehrere Schlüssel für dasselbe Konto haben, das sollte kein Problem sein.

Weitere ausführlichere Konfigurationsanweisungen finden Sie auf der Manualpage vonssh_config(5). (für die Serverseite siehesshd_config(5))

Antwort3

Nein, zumindest bei meiner Konfiguration wird bei aktivierter Kennwortauthentifizierung nur dann nach dem Kennwort gefragt, wenn Sie keinen Schlüssel haben.

Dennoch würde ich auf einem Server, der dem Internet ausgesetzt ist, niemals die Kennwortauthentifizierung aktivieren.

verwandte Informationen