SSH-Berechtigung von Linux an Windows mithilfe von Schlüsseln abgelehnt
2209
Sriram Chandramouli
Ich bin ein Anfänger in Hadoop und versuche, Hadoop-Cluster im Vollverteilungsmodus einzurichten. Mein Master ist Windows und mein Slave-Computer ist Linux auf VM. Ich habe SSH-Schlüssel in Windows und Linux erstellt und den öffentlichen Schlüssel von meinem Master-Windows-Rechner auf einen Linux-Slave-Rechner kopiert. Daher kann ich mit dem folgenden Befehl SSH von Windows nach Linux verwenden, ohne ein Kennwort anzugeben
ssh sriram@10.0.0.227
Dabei ist 10.0.0.227 die IP-Adresse meiner Slave-Linux-Maschine, und ich kann von Windows aus auf Linux zugreifen. Wenn ich jedoch den anderen Weg versuche (SSh von meinem Slave-Linux zu meinen Master-Fenstern), kann ich keine Verbindung herstellen und ich erhalte die folgende Fehlermeldung:
Dabei ist 10.0.0.202 die IP-Adresse meines Master-Windows-Computers.
Ich habe versucht, die öffentlichen Schlüssel von Linux auf Windows zu kopieren, und das kann ich auch nicht
sriram@sriram-virtual-machine:~$ ssh-copy-id -i /home/sriram/.ssh/id_rsa.pub sriram@10.0.0.203 /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys sriram@10.0.0.203's password: Permission denied, please try again. sriram@10.0.0.203's password: Permission denied, please try again. sriram@10.0.0.203's password: Permission denied (publickey,password,keyboard-interactive).
Könnten Sie mich bitte führen, da ich an diesem Punkt getroffen bin. Ist es in Ordnung, SSH von Master zu Slave alleine arbeiten zu lassen, oder ist es notwendig, dass SSH sowohl auf die Weise (Master zu Slave als auch Slave zu Master) funktioniert, um hadoop im Pseudo-Verteilungsmodus laufen zu lassen? Bitte informieren Sie mich, wo ich falsch liege. Ich wollte mich ohne Passwort verbinden
Ich verwende cygwin in Windows und habe die SSH und Schlüssel in Windows erstellt, die es verwenden. Ich habe keinen externen Client wie Putty. Und nachdem Schlüssel erstellt wurden, kann ich mich von Windows (Master) zu Linux (Slave) verbinden.
Entschuldigung, ich habe IPAddress falsch aktualisiert. Jetzt habe ich sie aktualisiert. 10.0.0.227 ist die IP-Adresse meines Master-Rechners (Windows) 10.0.0.203 ist die IP-Adresse meines Slave-Rechners (Linux).
1 Antwort auf die Frage
0
Uditha Desilva
Entschuldigung, dass Sie dies als "Antwort" gepostet haben, aber ich habe noch nicht genug Vertreter in diesem Forum, um einen Kommentar hinzuzufügen.
Der Schlüssel dazu (wenn Sie das Wortspiel verzeihen möchten) scheint zu sein, zu verstehen, was den SSH-Dienst auf Ihrem Windows-System bereitstellt - im Gegensatz zu Unix-ähnlichen Systemen verfügt Windows (noch) nicht über einen integrierten SSH-Dienst . Natürlich haben Sie einen SSH-Server unter 10.0.0.203, andernfalls erhalten Sie die Fehlermeldung "Verbindung abgelehnt".
Wenn es sich um einen Cygwin SSH-Server handelt, müssen Sie den öffentlichen Schlüssel Ihres Kontos in der VM (die Datei ist ~ / .ssh / id_rsa.pub oder ähnliches) in die .ssh / authorized_keys-Datei des sriram-Kontos kopieren was den Windows-SSH-Server betrifft.
Dies kann jedoch nicht unbedingt erforderlich sein, da ich ziemlich sicher bin, dass Hadoop nur die Master-> Slave-Verbindung verwendet, um die Dienste zu starten, und die andere Kommunikation läuft nicht über SSH.
Ich habe meine Frage aktualisiert. Ich habe Cygwin installiert, der die SSH in Windows für mich erledigt. Ich habe auch den öffentlichen Schlüssel von Windows nach Linux übertragen, wie von Ihnen bereits vorgeschlagen. Aber ich kann nicht dasselbe von Linux auf Windows. Meinst du damit, dass mein Master (Windows) sich mit meinem Slave (Linux) verbinden kann, sollte dies für den Vollverteilungsmodus von hadoop ausreichen?
Sriram Chandramouli vor 8 Jahren
0
Starten Sie den ssh-Daemon als nicht fälschungssicher in der Windows-Box. (Verwenden Sie den Schalter "-d" und führen Sie ihn über die Befehlszeile aus.) Sshd prüft unter anderem, dass kein anderer Benutzer auf die Datei mit den öffentlichen Schlüsseln oder auf die Verzeichnisse zugreifen kann, die zu dieser Datei führen. Das Ausführen im Debug-Modus hilft dabei, Probleme wie diese zu finden.
Uditha Desilva vor 8 Jahren
0
Vielen Dank. Kann ich nach dem Starten des ssh-Daemons bestimmte Konfigurationen bearbeiten, um von außerhalb auf öffentliche Schlüssel zuzugreifen? Haben Sie eine Dokumentation zur Hand? Ich würde versuchen, etwas zu analysieren und Sie zu aktualisieren.
Sriram Chandramouli vor 8 Jahren
0
Die Sshd-Manpage finden Sie unter http://linux.die.net/man/8/sshd. Es ist ein Fall, in dem der ssh-Daemon im Vordergrund gestartet wird, sodass Sie genau sehen können, was passiert, wenn er einen öffentlichen Schlüssel vom Client erhält und warum er ihn nicht akzeptiert hat.
Uditha Desilva vor 8 Jahren
0