Почему я не могу подключиться по ssh к своему хосту Vagrant? [email protected]: Отказано в доступе (открытый ключ)

Почему я не могу подключиться по ssh к своему хосту Vagrant? [email protected]: Отказано в доступе (открытый ключ)

Я создал 5 виртуальных машин для своего проекта Vagrant Status

Current machine states:

master-1                  running (virtualbox)
master-2                  running (virtualbox)
master-3                  running (virtualbox)
node-1                    running (virtualbox)
node-2                    running (virtualbox)

я могу сделать

vagrant ssh master-1
vagrant ssh master-2
vagrant ssh master-3

vagrant ssh-config показывает

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

Но

ssh [email protected]
[email protected]: Permission denied (publickey).

терпит неудачу.

Я проверил свой id_rsa.pub

ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAACAQCZmhxzwwJJ1z/5rgoprHc31gneGY5rzFd/giE5ehZSH75WqT1hQKQ2gZUN8A3L+04oZ9H1uOUQHJBPV5mj7+FKkE+hPuTDVSUXcbYC9DlhurbmComoMh....oIQ== jovo@jovo-IdeaPad

и я вижу, что все пять виртуальных машин имеют разные авторизованные ключи

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key

Что мне нужно сделать, чтобы включить ssh для всех пяти хостов с моего хоста?

решение1

Я следил за этимТАК пост

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

Я также нашел другое решение, добавив свой id_rsa

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

решение2

Вам необходимо скопировать ваш открытый ключ, который генерируется, или сгенерировать его с помощью команды:

Ожидается, что ваш хост-компьютер — это машина Linux

->ssh-keygen -t rsa -b 4096

Приведенная выше команда создаст открытый ключ в

/home/user/.ssh/id_rsa.pub

Скопируйте этот открытый ключ и вставьте его в виртуальную машину, к которой вы хотите подключиться по SSH, путь, куда его нужно вставить, следующий.

->/home/user/.ssh/authorized_keys

Вставьте один и тот же открытый ключ во все виртуальные машины. Это обеспечит вашему хосту беспарольный доступ ко всем машинам виртуальных машин.

В некоторых случаях в указанном выше пути нет файла с именем authorized_keys, и вам придется создать файл в этот момент с разрешением 700.

и самое последнее и главное, что я увидел в вашем конфигурационном файле, вы изменили номер порта для SSH, поэтому ваша команда для подключения по ssh должна быть такой:

-> ssh -p 2206[email protected]

Кое-что, что я могу сделать...

Связанный контент