![Warum kann ich keine SSH-Verbindung zu meinem Vagrant-Host herstellen? [email protected]: Berechtigung verweigert (öffentlicher Schlüssel)](https://rvso.com/image/785363/Warum%20kann%20ich%20keine%20SSH-Verbindung%20zu%20meinem%20Vagrant-Host%20herstellen%3F%20%5Bemail%20protected%5D%3A%20Berechtigung%20verweigert%20(%C3%B6ffentlicher%20Schl%C3%BCssel).png)
Ich habe 5 VMs für mein Projekt Vagrant Status erstellt
Current machine states:
master-1 running (virtualbox)
master-2 running (virtualbox)
master-3 running (virtualbox)
node-1 running (virtualbox)
node-2 running (virtualbox)
ich kann
vagrant ssh master-1
vagrant ssh master-2
vagrant ssh master-3
Vagrant SSH-Konfiguration zeigt
vagrant ssh-config
Host master-1
HostName 127.0.0.1
User vagrant
Port 2206
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/miki/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
Aber
ssh [email protected]
[email protected]: Permission denied (publickey).
schlägt fehl.
Ich habe meine id_rsa.pub überprüft
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCZmhxzwwJJ1z/5rgoprHc31gneGY5rzFd/giE5ehZSH75WqT1hQKQ2gZUN8A3L+04oZ9H1uOUQHJBPV5mj7+FKkE+hPuTDVSUXcbYC9DlhurbmComoMh....oIQ== jovo@jovo-IdeaPad
und ich kann sehen, dass alle fünf VMs unterschiedliche autorisierte Schlüssel haben
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
Was muss ich tun, um von meinem Host aus SSH für alle fünf Hosts zu aktivieren?
Antwort1
Ich folgte diesemSO-Beitrag
ssh [email protected] -p 2222 -o LogLevel=FATAL -o Compression=yes -o DSAAuthentication=yes -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /home/miki/.vagrant.d/insecure_private_key
Ich habe auch eine andere Lösung gefunden, indem ich meine id_rsa hinzugefügt habe
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
config.ssh.private_key_path = ['~/.vagrant.d/insecure_private_key', '~/.ssh/id_rsa']
config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/authorized_keys"
(1..3).each do |i|
config.vm.define "master-#{i}" do |master|
master.vm.box = "ubuntu/bionic64"
end
end
(1..2).each do |i|
config.vm.define "node-#{i}" do |node|
node.vm.box = "ubuntu/bionic64"
end
end
config.vm.network "public_network", :bridge => "wlo1"
config.vm.provider "virtualbox" do |vb|
vb.memory = "3072"
vb.cpus = "3"
end
end
Antwort2
Sie müssen Ihren öffentlichen Schlüssel kopieren, der generiert wird, oder Sie müssen ihn mit dem folgenden Befehl generieren: -
Vorausgesetzt, Ihr Hostcomputer ist ein Linux-Computer
->ssh-keygen -t rsa -b 4096
Der obige Befehl erstellt einen öffentlichen Schlüssel in
/home/Benutzer/.ssh/id_rsa.pub
Kopieren Sie diesen öffentlichen Schlüssel, und fügen Sie ihn in die VM-Maschine ein, auf die Sie per SSH zugreifen möchten. Dies ist der Pfad, in den Sie ihn einfügen müssen.
->/home/Benutzer/.ssh/autorisierte_Schlüssel
Fügen Sie in allen VMs denselben öffentlichen Schlüssel ein. Dadurch wird sichergestellt, dass Ihr Host passwortlosen Zugriff auf alle VM-Maschinen hat.
In manchen Fällen gibt es im obigen Pfad keine Datei mit dem Namen „authorized_keys“. Sie müssen die Datei dann mit der Berechtigung 700 erstellen.
und das allerletzte und wichtigste, was ich in Ihrer Konfigurationsdatei gesehen habe, ist, dass Sie die Portnummer für SSH geändert haben. Ihr Befehl zum Verbinden mit SSH sollte also wie folgt lauten:
-> ssh -p 2206[email geschützt]
Eine Kleinigkeit, die ich tun kann ...