LoginSignup
24
20

More than 5 years have passed since last update.

Vagrantで立てたVMにSSHするまで (Windows)

Last updated at Posted at 2017-07-06

MacやLinux上でVagrantで仮想マシンを立ててリモートログインするまでは簡単なのだけど、Windowsでは直接 vagrant ssh が叩けないので手順が多少面倒になる。
そのため、Windows上でVagrantを使って立てた仮想マシンにログインするまでの手順をここに記しておく。

なお、本稿ではsshクライアントとしてputtyを使用する。
また、Vagrantおよびputtyのインストール方法については割愛する。

問題

vagrant up で立てたVMに対してputtyなどからSSHでコンソールを取ろうとしたとき、『No supported authentication methods available (server sent: public key)』というエラーが出てログインができない。

解決法

insecure_private_keyをPuTTY形式(.ppk)に変換

http://qiita.com/pakiran/items/eeeb736cbef5d8b609db に手順が書いてある。

  1. PuTTYgen utilityを開く
  2. Loadボタンを押す
  3. C:\Users\ユーザ名\.vagrant.d\ ディレクトリに移動 (Windows 10)
  4. insecure_private_keyファイルをダブルクリック
    • 表示されない場合は ファイルの拡張子 を All Files (*.*) に指定
  5. 画面下部の『Number of bits in a generated key』の欄を2048にする
  6. Save private keyボタンを押し、ppk形式で保存

Vagrantfileの設定

  1. vagrant initしてVagrantfileを作成する
  2. 作成されたVagrantfileに config.ssh.insert_key = falseを追記する。
    • この設定を入れると、 C:\Users\ユーザ名\.vagrant.d\insecure_private_key に対応する公開鍵が仮想マシンに登録される。
  3. vagrant upで仮想マシンを起動

SSHでログインする

  1. Connection > SSH > Auth をクリック
  2. 「Browse」と書かれたボタンを押して先程ppk形式で保存したファイルを選択
  3. Sessionの欄にログインに必要な情報を入力

上記の手続きで、ログインができる。

(参考) Vagrantfileの設定例

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

Vagrant.configure("2") do |config|
  config.vm.box = "debian/stretch64"

  # 追記した箇所
  config.ssh.insert_key = false

  config.vm.network "private_network", ip: "192.168.33.10"

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
  end
end
24
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
20