it-swarm.com.de

So aktivieren Sie die Kennwort-SSH-Authentifizierung für Vagrant VM

Ich möchte die Passwort-ssh-Authentifizierung für may Vagrant VM aktivieren (und die schlüsselbasierte Authentifizierung aktiviert lassen). Wie kann ich das einstellen?

Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "Fedora/26-cloud-base"
  config.vm.box_version = "20170705"

  config.ssh.username = 'vagrant'
  config.ssh.password = 'a'
  config.ssh.keys_only = false
end
$ Sudo vagrant ssh-config 
Host default
  HostName 192.168.121.166
  User vagrant
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/jakub/src/kubernetes-vms/kubernetes/.vagrant/machines/default/libvirt/private_key
  LogLevel FATAL

Das Passwort a wird mit diesen Einstellungen nicht akzeptiert.

Ich denke, das könnte PasswordAuthentication no in der Ausgabe von vagrant ssh-config sein. Wie kann diese Option eingeschaltet werden?

8
czerny

Für mich funktioniert das Folgende. Sie müssen wie üblich ssh zur vm und dann /etc/ssh/sshd_config bearbeiten. Dort müssen Sie PasswordAuthentication anstelle von yes auf no setzen. Dies ermöglicht die Passwortauthentifizierung.

7
FreeLightman

Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "Fedora/26-cloud-base"
  config.vm.box_version = "20170705"

  config.vm.provision 'Shell', inline: 'echo "vagrant:a" | chpasswd'
end

Zeile config.vm.provision 'Shell', inline: 'echo "vagrant:a" | chpasswd' ruft die Shell-Bereitstellung auf, die das Kennwort des vagrant-Benutzers ändert (vorausgesetzt, die Box wird mit einem vordefinierten Benutzer namens vagrant geliefert).

Dann kann man sich nicht nur per vagrant ssh sondern auch verbinden

ssh [email protected]<vm-ip>
3
czerny

Wenn Sie die Kennwortauthentifizierung für die VM erzwingen möchten, müssen Sie Folgendes in Ihrer Vagrant-Datei festlegen

  config.ssh.username = 'vagrant'
  config.ssh.password = 'vagrant'
  config.ssh.insert_key = false

Sie müssen sicherstellen, dass der Benutzer vagrant in VM das entsprechende Kennwort hat. Ich bin mir nicht sicher, welche Box Sie verwenden, also müssen Sie sich selbst verifizieren. Es funktioniert für folgende Box: ubuntu/trusty64

1

Für ssh mit Kennwort wird die sshd-Konfiguration unter debian/stretch64 automatisch aktualisiert:

config.vm.provision "Shell", inline: <<-Shell
  sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config    
  service ssh restart
Shell
1
Syam