ভ্যাগ্র্যান্ট আপ ব্যবহার করে কোনও ভিএমকে কীভাবে প্রমাণীকরণ করবেন?


9

ভ্যাগ্র্যান্ট আপ চলাকালীন প্রমাণীকরণের ব্যর্থতা, যিনি ভ্যাগ্রান্ট এসএসএস এবং এসএসএস ভ্যাগ্র্যান্ট @ লোকালহোস্ট -p2222 কাজ করে

আমি বুটে ভ্যাগ্র্যান্ট ব্যবহার করে একটি শেল স্ক্রিপ্ট কার্যকর করতে চাই। ভ্যাগ্র্যান্ট প্রমাণীকরণে অক্ষম, যখন ভিএম ব্যবহার শুরু করা হয়েছে vagrant up:

c:\temp\helloworld>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'helloworld'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: helloworld_default_1398419922203_60603
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    ...

মৃত্যুদন্ড কার্যকর করার পরে এবং CTRL + Cব্যবহার করে ভিএম-তে অনুমোদন দেওয়া সম্ভবvagrant sshssh vagrant@localhost -p2222

জাগ্রত ফাইল

আমি ডিফল্ট ভ্যাগ্রান্টফাইল ব্যবহার করি এবং আমি কেবল হোস্টের নামটি পরিবর্তন করেছি:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "helloworld"
  ...

জাগ্রত সংস্করণ

c:\temp\helloworld>vagrant --version
Vagrant 1.5.1

প্রশ্ন

কিভাবে ভিএম ব্যবহার করে প্রমাণীকরণ করবেন vagrant up?

উত্তর:


6

সমস্যাটির কারণ হ'ল কোনও পাবলিক কী ভ্যাগ্র্যান্ট বাক্সে নেই। নিম্নলিখিত দুটি বিকল্পের মধ্যে একটি সমস্যার সমাধান করে।

প্রথম বিকল্পটি হ'ল প্যাকার ব্যবহার করে একটি নতুন ভ্যাগ্রেন্ট বক্স তৈরি করা। যোগ নিম্নলিখিত স্নিপেট JSON ফাইল প্রয়োজন এবং দ্য ভাগ্রান্ট বক্স নির্মাণ।

"provisioners": [{
    "type": "shell",
    "scripts": [
      "scripts/vagrant.sh"
    ]
}]

এই অসম্পূর্ণ লিপির বিষয়বস্তু নিম্নরূপ:

#!/bin/bash
yum install wget -y

mkdir /home/vagrant/.ssh
wget --no-check-certificate \
    'https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub' \
    -O /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh
chmod -R go-rwsx /home/vagrant/.ssh

দ্বিতীয় বিকল্পটি হ'ল vagrant packageভ্যাগ্রান্ট বাক্সটি পুনরায় প্যাকেজ করা ( ) এখানে বর্ণিত নিম্নলিখিত কমান্ডগুলি চালানোর পরে:

mkdir -p /home/vagrant/.ssh
wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/authorized_keys
chmod 0700 /home/vagrant/.ssh
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh

এটি আমার পক্ষে কাজ করেছিল! যারা ভাবছেন তাদের পক্ষে, এটি ভ্যাগ্র্যান্টটি পুরানো অবৈধটিকে ব্যবহার করার পরিবর্তে (এটির একটি থাকলেও) নতুন সুরক্ষিত কী তৈরি করতে সক্ষম করে gene
নেবোজাস্যাক

5

প্রথমে চেষ্টা করুন: আপনার মেশিন কনফিগারেশনে কী ভিজেন্ট প্রাইভেট কী রয়েছে তা দেখার জন্য try

$ vagrant ssh-config

উদাহরণ:

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

http://docs.vagrantup.com/v2/cli/ssh_config.html

দ্বিতীয়ত: করুন : আপনার নিজের সিস্টেমের ব্যক্তিগত কী এর সামগ্রীতে ফাইলটি অনিরাপদ_প্রাইভেট_কি এর সামগ্রী পরিবর্তন করুন


1

আমিও এর বাইরে যেতে পারিনি:

ডিফল্ট: এসএসএইচ লেখার পদ্ধতি: ব্যক্তিগত কী

আমি যখন ভার্চুয়ালবক্স জিইউআই ব্যবহার করেছি, এটি আমাকে জানিয়েছিল যে সেখানে একটি ওএস প্রসেসরের অমিল রয়েছে।

আরও অগ্রগতিতে অগ্রসর হওয়ার জন্য, বায়োস সেটিংসে আমাকে স্ব-স্বজ্ঞাতভাবে পাল্টাতে হয়েছিল:

অক্ষম: ভার্চুয়ালাইজেশন

সক্ষম করুন: ভিটি-এক্স

আপনার BIOS এ এই সেটিংটি টগল করার চেষ্টা করুন।



0

আমি দেখতে পাচ্ছিলাম অনেকগুলি স্ক্রিপ্টগুলি জনসাধারণের কীটি টানতে এটি ব্যবহার করে:

curl -L https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -o /home/vagrant/.ssh/authorized_keys

আমি যে সমস্যাটি দেখেছি তা হ'ল গিথুব এসএসএল সার্টের জন্য www.github.com, না raw.github.com। সুতরাং, আপনি একটি 400ত্রুটি পেয়ে শেষ । আপনি /home/vagrant/.ssh/authorized_keysফাইলের বিষয়বস্তু দেখে এটি যাচাই করতে পারেন ।

-kএসএসএল শংসাপত্রের চেক উপেক্ষা করার জন্য বিকল্পটি ব্যবহার করার চেষ্টা করুন :

curl -L -k https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -o /home/vagrant/.ssh/authorized_keys

0

আপনার ভিএমের নেটওয়ার্ক অ্যাক্সেস রয়েছে তা নিশ্চিত করুন। আপনি যদি ভার্চুয়াল বক্স ব্যবহার করেন, আপনার মেশিন সেটিং, নেটওয়ার্ক ট্যাবে প্রবেশ করুন এবং আপনার কেবল সংযুক্ত পরীক্ষা করা আছে কিনা তা নিশ্চিত করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.