Ich versuche, ein kennwortloses Login von machineA
bis machineB
für meinen Benutzer einzurichten, david
das bereits beendet wird. Folgendes habe ich getan, um die Authentifizierungsschlüssel zu generieren:
david@machineA:~$ ssh-keygen -t rsa
........
david@machineB:~$ ssh-keygen -t rsa
........
Danach habe ich den id_rsa.pub
(/home/david/.ssh/id_rsa.pub)
Schlüssel machineA
in den machineB
authorized_keys
Dateischlüssel kopiert (/home/david/.ssh/authorized_keys)
.
Und dann ging ich zurück zum Anmeldebildschirm von machineA und lief unter dem Befehl und es funktionierte ohne Probleme. So konnte ich mich machineB
als David User anmelden, ohne nach einem Passwort zu fragen.
david@machineA:~$ ssh david@machineB
Frage:
Jetzt habe ich einen neuen Benutzer auf machineA
und machineB
beide nur durch diesen Befehl ausführen useradd golden
. Und jetzt möchte ich von diesem golden
Benutzer passwortlos in machineB
von ssh machineA
. Ich habe genau den gleichen Schritt wie oben gemacht, aber es funktioniert nicht.
david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........
david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........
Und dann habe ich den id_rsa.pub
Schlüssel /home/golden/.ssh/id_rsa.pub
für den goldenen Benutzer von machineA
in die machineB
authorized_keys
Datei kopiert /home/golden/.ssh/authorized_keys
. Und wenn ich versuche zu ssh, gibt es mir:
golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10
Was ist falsch? Es funktioniert nicht nur für Golden User, die ich manuell mit diesem Befehl erstellt habe useradd
. Ich verwende Ubuntu 14.04. Gibt es Einstellungen, die ich für diesen von mir erstellten manuellen Benutzer aktivieren muss?
In der folgenden machineB
auth.log
Datei wird Folgendes angezeigt, wenn ich diesen Befehl von machineA ssh -vvv golden@machineB
zur Anmeldung ausführe
Jan 3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan 3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan 3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan 3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]
Fehlt mir etwas? Im Folgenden sieht meine Verzeichnisstruktur aus:
golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden 675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden 220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root root 4.0K Dec 22 11:56 ..
-rw------- 1 golden golden 17K Jan 5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan 5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan 5 12:51 .
-rw------- 1 golden golden 5.0K Jan 5 13:14 .bash_history
golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden 675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden 220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root root 4.0K Jan 4 16:43 ..
drwx------ 2 golden golden 4.0K Jan 5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan 5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan 5 12:59 .
-rw------- 1 golden golden 4.6K Jan 5 13:10 .bash_history
Aktualisieren:
In machineA
:
cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
In machineB
:
cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
/etc/passwd
dem Benutzer einen Eintrag anzeigen?Antworten:
Das Problem liegt bei der PAM-Stapelkonfiguration. Ihr Host ist mit konfiguriert
pam_access
und die Standardkonfiguration erlaubt dem neuen Benutzer keinen externen / SSH-Zugriffgolden
, obwohl Ihre Schlüssel ordnungsgemäß eingerichtet sind.Das Hinzufügen eines
golden
Benutzers zu/etc/security/access.conf
den folgenden Optionen hat das Problem behoben.+:golden:ALL
Weitere Informationen finden Sie in
man access.conf
den einzelnen Feldern dieser Datei. Schauen Sie sich den Abschnitt mit den Beispielen an, um die Reihenfolge und Bedeutung von LOCAL, ALL usw. Zu verstehenquelle
Ich hatte das gleiche Problem und keine der vorgeschlagenen Optionen funktionierte. Aber ich habe in einem der Foren ( https://ubuntuforums.org/showthread.php?t=1960510 ) eine "Problemumgehung" gefunden, die perfekt funktioniert hat.
Bearbeiten
/etc/ssh/sshd_config
und einstellenWährend es wahrscheinlich nicht die wirkliche Lösung ist, weil definitiv etwas mit meiner Maschine nicht stimmt (gestern hat es gut funktioniert!), Funktioniert diese zumindest.
quelle
Bitte fügen Sie Folgendes hinzu
/etc/security/access.conf
:quelle
-:ALL:EXCEPT root
in/etc/security/access.conf
, begann es zu arbeiten.