質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

1091閲覧

Vagrant upでエラーになってしまう

退会済みユーザー

退会済みユーザー

総合スコア0

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2018/08/05 00:52

編集2018/08/06 01:59

前提・実現したいこと

RHEL6にrootユーザでVirtualBox及び、vagrant2.1.2をインストールしました。

VirtualBox上で「router4」という仮想環境を作り、CentOS7をインストール.
インストールは正常終了しました。
CentOS上のユーザはrootのみで、他ユーザは作成していません。
この環境を「vagrant package --base router4 --output router4.box」
でBOX化し、「vagrant box add router4 router4.box」で追加、「vagrant box list」で追加まで確認。
「vagrant init router4」でvagrantfileを作成するところまで行きました。

発生している問題・エラーメッセージ

RHELにrootユーザにログイン、vagrantfileのあるディレクトリでVagrant upを行うと
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (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: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
と連続して表示されてしまいます。

このメッセージで検索してみると「仮想マシン側のパーミッションが不適切」ということのようなのですが、「vagrant ssh」を実行してもパスワードが通りません。

vagrant ssh

vagrant@127.0.0.1's password:
vagrant@127.0.0.1's password:
vagrant@127.0.0.1's password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
パスワードはデフォルトの「vagrant」を入力しています。

なにか手順やファイルの変更などでお気づきの点があればアドバイス願えませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CentOS上のユーザはrootのみで、他ユーザは作成していません。

ゲストユーザに vagrant ユーザがないのが原因かなと。
Default User Settingsに以下のように書かれています。

By default, Vagrant expects a "vagrant" user to SSH into the machine as.

以下の設定が必要です。

  • vagrant ユーザが存在すること
  • ~vagrant/.ssh/authorized_keysinsecure keypairの公開鍵の登録がされていること
  • vagrant ユーザはパスワードなしsudoができること

参考サイト

CentOS7の綺麗なboxを自作する - Qiita

投稿2018/08/07 04:08

編集2018/08/09 12:20
ikemo

総合スコア332

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/07 05:14

・「user:vagrant / pass:vagrant」ユーザを作成 ・visudoで「vagrant ALL=NOPASSWD: ALL」行を追加 ・Vagrantfileファイルに「config.ssh.insert_key = false」を追加 この状態でvagrant upを行ったところ、 [root@host01]# vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (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: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying...               | default: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying... default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying...               | default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying... Timed out while waiting for the machine to boot. This means that Vagrant was unable to communicate with the guest machine within the configured ("config.vm.boot_timeout" value) time period. If you look above, you should be able to see the error(s) that Vagrant had when attempting to connect to the machine. These errors are usually good hints as to what may be wrong. If you're using a custom box, make sure that networking is properly working and you're able to connect to the machine. It is a common problem that networking isn't setup properly in these boxes. Verify that authentication configurations are also setup properly, as well. If the box appears to be booting properly, you may want to increase the timeout ("config.vm.boot_timeout") value. [root@host01]# vagrant ssh vagrant@127.0.0.1's password: vagrant@127.0.0.1's password: vagrant@127.0.0.1's password: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 上記のような結果になり、状況は変わらないようです。 何か根本的に間違えてるのでしょうか。
ikemo

2018/08/07 05:22 編集

insecure keypairの登録はされているでしょうか。 > To configure SSH access with the insecure keypair, place the public key into the ~/.ssh/authorized_keys file for the "vagrant" user. Note that OpenSSH is very picky about file permissions. Therefore, make sure that ~/.ssh has 0700 permissions and the authorized keys file has 0600 permissions. 1. vagrantユーザでゲストOSでログインする 2. 公開鍵の内容を ~vagrant/.ssh/authorized_keys にコピー * https://github.com/hashicorp/vagrant/blob/master/keys/ (vagrant.pubの方です) 3. パーミッションを修正 * ~vagrant/.ssh: 0700 * ~/vagrant/.ssh/authorized_keys: 0600 これでvagrant sshできる状態になるはずです。 なお、以下の設定については、Vagrantがssh接続した「あと」に、デフォルトの(非セキュアな)sshキーペアではなく、新規にsshキーペアを作成するかどうかの設定です。 > Vagrantfileファイルに「config.ssh.insert_key = false」を追加
退会済みユーザー

退会済みユーザー

2018/08/07 05:56

以下の操作を行いました。 ・vagrantでログイン ・suでvagrant upを実行 ・vagrant ssh-configで秘密鍵の位置を確認  「/root/.vagrant.d/insecure_private_key」 ・秘密鍵から公開鍵を生成。  「ssh-keygen -yf /root/.vagrant.d/insecure_private_key >public_key」 ・「/home/vagrant/.ssh」フォルダがなかったので作成 ・作成した公開鍵をコピー  「cp public_key /home/vagrant/.ssh/authorized_keys」 ・「.ssh」フォルダのパーミッションを変更  「chmod 700 .ssh」 ・「authorized_keys」ファイルのパーミッションを変更  「chmod 600 authorized_keys」 ・パーミッション変更されたことを確認 ・念のためリブート ・rootでログイン ・vagrant upを実行 残念ながら状況は変わらずです。
ikemo

2018/08/07 06:02

もしかして、ユーザの作成はホストOS側でやっていますか? こちらがコメントで書いた対応は全てゲストOS側で必要です。 したがって、Vagrant Boxの作成からやり直す必要があります。
退会済みユーザー

退会済みユーザー

2018/08/07 06:12

うっ;根本的にやる場所を間違えていましたか。 Vagrant Boxの作成からやり直すとなると、今出来ない状態なので、出来る状態になったら試してみます。
退会済みユーザー

退会済みユーザー

2018/08/08 06:49

ゲストOSに「vagrant」ユーザを作成し、公開鍵ファイルを/home/vagrant/.sshに置くことでvagrant upもsshも出来るようになりました。 ありがとうございます。 それにしてもググった記事のどこにもvagrantユーザを作成する手順はないのですが、当たり前すぎて書かれないのか、何かインストール手順で間違えたのか・・・
ikemo

2018/08/08 07:10

解決してよかったです。 vagrantユーザを作ることが書かれてない記事は、 既存のVagrant Boxを元にカスタマイズしているのかもしれません。 ゼロから作成するパターンだとこの記事とかはちゃんと書かれているようです。 https://qiita.com/mitsubachi/items/6dde0c6cb9b5e8cb64f7
退会済みユーザー

退会済みユーザー

2018/08/08 07:36

おお、これは参考になります。かさねがさね、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問