
Benötige passwortlosen SSH-Zugriff von meinem Macbook (Client) auf den Ubuntu 22.04-Server (Server). ssh_config auf dem Client und sshd_config auf dem Server bleiben original
Alle auf dem Client durchgeführten Schritte:
- Schlüssel erstellen (keine Passphrase):
- Kopieren Sie diesen Schlüssel auf den Server:
- SSH-Verbindung prüfen:
Verbindung erfolgreich, aber Passwort wird immer noch abgefragt (((
Was ist falsch?
LÖSUNG:
IdentityFile ~/.ssh/id_macbook
Zu /etc/ssh/ssh_config des Clients hinzufügen
Antwort1
Ihre SSH-Client-Protokolle sagen, dass der ClientIstbietet den Schlüssel an, aber der Server ist nichtakzeptierenes. Das bedeutet, dass der nächste Schritt darin besteht, IhreServers sshd
logs ( journalctl -S -1h
), da diese den Grund für die Ablehnung des Schlüssels enthalten würden – wenn nicht standardmäßig, dann auf jeden Fall nach der Erhöhung der Protokollebene (das Hinzufügen von LogLevel VERBOSE
oder DEBUG
zu /etc/ssh/sshd_config
wäre beispielsweise ein guter Anfang).
In diesem Fall:
Der von Ihnen generierte Schlüssel istnicht der gleiche SchlüsselSie versuchen, eine Verbindung herzustellen. Der Schlüssel, den Sie generiert und hochgeladen haben, ist unter gespeichert , aber Sie haben dem SSH-Client nie gesagt, dass er diesen Schlüssel beim Herstellen einer Verbindung verwenden soll. Wie Sie aus den Client-Protokollen ersehen können, verwendet er immer noch den Standardschlüssel, der eine völlig andere Datei ist.
~/.ssh/id_macbook
~/.ssh/id_rsa
Die SSHD-Protokolle würden besagen, dass der angebotene Schlüssel nicht in den autorisierten Schlüsseln gefunden wurde.
Geben Sie entweder beim Verbinden mit der Option den richtigen Schlüssel an
-i <file>
(oder über IdentityFile in ~/.ssh/config) oder laden Sie Ihren Schlüssel mit in den SSH-Agentssh-add <file>
.Ihre
authorized_keys
Datei wirdfür alle beschreibbar(möglicherweise aufgrund einer seltsamenumask
Einstellung auf dem Server?), was höchstwahrscheinlich dazu führt, dass SSHD die Datei aus Sicherheitsgründen ignoriert.Die SSHD-Protokolle würden sagen, dass die Berechtigungen „zu offen“ sind.
Ändern Sie es so
chmod
, dass nur der Eigentümer darauf zugreifen kann.