2016-03-23 27 views
-2

Können wir ein Kennwort weniger Authentifizierung zwischen zwei verschiedenen Verwendungen in zwei Computern einrichten. Beispiel: Computer A hat Benutzer A, Computer B hat Benutzer B. Können wir Kennwörter ssh so einrichten, dass Benutzer A von Computer A sich mit seinem Benutzerkonto (A) bei Computer B anmeldet.So richten Sie die kennwortlose Authentifizierung zwischen zwei verschiedenen Konten ein

Vielen Dank !!

+0

Googeln Sie Ihre Frage _Wie ich die Passwörter-weniger Authentifizierung zwischen zwei verschiedenen Konten einrichten_ Ich habe einhundert große Tutorials gefunden.Warum bevorzugen Sie zu fragen und warten für die Antwort ** statt eine minimale Forschung zu tun **? –

Antwort

1

Wenn ich Ihre Frage verstehen, können Sie ssh-keys einrichten zu ermöglichen Benutzer A und Benutzer B in verschiedenen Computern A & B zwei anmelden, ohne ein Passwort bereitstellt? Sicher, aber Benutzer A können sich nicht anmelden in Benutzer B ‚s Konto via ssh sowenig Benutzer A können melden Sie sich Benutzer B‘ s-Konto auf einem lokalen Computer. (Verzeichniseigentümerschaften sind unterschiedlich für die $HOME, etc .. Das ist, was su ist für).

Um ein Passwort weniger Login zu erstellen, lassen Sie uns Benutzer A und Computer A nehmen die ein Konto auf Computer B hat und würde ohne einen Passwort ssh hostnameB und Login mögen.

(1) Benutzer A einen public_key und private_key auf Computer erstellt ein mit ssh-keygen -t ecdsa (für einen ecdsa Chiffrierschlüssel. dsa Schlüssel werden nicht mehr unterstützt, aufgrund der Unsicherheit im aktuellen openssh). Wenn ssh-keygen ausgeführt wird, erstellt es zwei Dateien (standardmäßig in $HOME/.ssh). Die Schlüssel sind id_edcsa (der private Schlüssel) und id_ecdsa.pub (der öffentliche Schlüssel).

(2) für Benutzer A ohne Passwort Computer B anmelden, muss er zunächst seine public_key-Computer B übertragen und fügen Sie ihn in seine $HOME/.ssh/authorized_keys Datei auf Computer B . z.B. von Computer A:

$ ssh-keygen -t ecdsa # generate key-pair 
$ cd ~/.ssh   # verify private and public keys created 
$ rsync -a id_ecdsa.pub hostnameB:~/.ssh/id_ecdsa.pub.hostA 
    password: enter pw 

$ ssh hostnameB 
    password: enter pw 
$ cd ~/.ssh 
$ cat id_dsa.pub.hostA >> authorized_keys # permissions must be 0600 
$ exit    # exit hostnameB 

Anmerkung: oben könnten Sie die public_key Verzeichnis auf den Computer B~/.ssh/authorized_keys Datei rsync, wenn Sie sicher, dass man bereits, wenn ein vollständig vorhanden ist nicht der letzte Schritt überspringen speichern Kopieren der übertragenen Datei oben. z.B.

$ rsync -a id_ecdsa.pub hostnameB:~/.ssh/authorized_keys 

(Sie Berechtigungen auf Computer B überprüfen müssen möglicherweise danach)

nun für den Test, Benutzer A sollte nicht mehr benötigen ein Passwort lang in Computer B.Ein von Computer:

$ ssh hostnameB 
$ welcome to hostnameB> 

Jetzt einfach Sie den Prozess der Erstellung von Schlüsselpaaren für jeden Benutzer und Übertragen des public_key an den Host Sie w/oa Passwort zugreifen möchten wiederholen und fügen Sie den public_key an die authorized_keys Datei. (Hinweis: Sie können das gleiche private_key in alle ~/.ssh Verzeichnis kopieren und fügen Sie die gleiche public_key zu jedem ~/.ssh/authorized_keys Datei, aber diese Art von besiegt den Zweck der separaten Schlüssel). Hinweis: Jede authorized_keys Datei muss im Besitz des Benutzers sein, der das Verzeichnis $HOME/.ssh besitzt, und die Dateiberechtigungen müssen 0600 (-rw-------) oder sshd sein, um eine Verbindung zu verhindern.

Das ist alles dort ist zu ihm (Sie in /etc/ssh/sshd_config überprüfen kann der Name authorized_keys Datei, um sicherzustellen, hat sich nicht auf etwas anderes geändert.

Probieren Sie es und lassen Sie mich wissen, wenn Sie Fragen haben. Ich getan es Hunderte von Zeiten - keine Probleme, solange Sie diese Regeln befolgen.

+0

Vielen Dank .. Dies ist sehr klar und explizit ... – UtpMahesh

+0

Gut, es hilft, es ist ziemlich sim Wenn Sie es ein oder zwei Mal gemacht haben, kann es schwierig sein, es zum ersten Mal herauszufinden (besonders angesichts der Anzahl der schlecht geschriebenen Beispiele im Internet). –