質問: 現在、ドットインストールでChefの講座を受けております。 http://dotinstall.com/lessons/basic_chef/24204 (有料版) そこで、ホスト名を指定するコマンドを実行すると、その設定内容が出力されます。 C:仮想サーバーのディレクトリ>vagrant ssh-config --host harmony しかし、これを仮想サーバーのssh設定ファイルに書き込むコマンドを実行すると 指定されたパスがみつかりませんと表示されて、動作しませんでした。 C:仮想サーバーのディレクトリ>vagrant ssh-config --host harmony >> ~/.ssh/config 出力結果は以下の通りです。 C:仮想サーバーのディレクトリ>vagrant ssh-config --host harmony Host harmony HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StricHostKeyChecking no PasswordAuthentication no IdentityFile C:仮想サーバーのディレクトリ/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL C:仮想サーバーのディレクトリ>vagrant ssh-config --host harmony >> ~/.ssh/config 指定されたパスがみつかりません。 現在の開発環境は以下の通りです。 使用OS :Windows10 ゲストOS :CentOS7.1 Virtualbox:5.0.26 vagrant :1.8.4 なお、MinGWでコマンドラインから接続できるように設定してあります。 そのため、何が足りなくてできないのかわからず、 飛ばしてもよいのかも判断できません。 どのように対処すればよろしいでしょうか? 何卒、よろしくお願いします。
回答: こんにちは。上記で情報の追加のところで質問させていただいたものです。 コメントを踏まえて、こちらに記載させていただきます。新参者ですので、回答のお作法などで至らない点がありましたら、ご容赦ください。 **1. vagrant ssh-config の実行について** vagrant ssh-config の実行はホストOS側で実施しますし、出力結果もホストOS側のssh接続用の設定ファイルに追記する形になります。 dotinstall で参考にされているVagrantのホストOSは、MacOSかLinuxマシンを前提にしていると思います。ですから、vagrant ssh-config --host harmony >> ~/.ssh/config という形で、そのまま実行してしまうと、Window上でそうしたディレクトリが存在しなければエラーになります。 **2. 対応案** Windowsマシン(ホストOS)側から、vagrantのゲストOSにssh接続するために、MinGW を入れてsshを追加した状態でしょうか。 おそらく、こちらのページの中盤の「ssh-config設定」のところに書いてあるように、書き込む先をMinGWで入れたsshの下に向けてあげればいいんじゃないかと思います.... ``` $ vagrant ssh-config --host harmony >> C:\MinGW\msys\1.0\etc\ssh\ssh_config ``` ※ 書き込み先がちゃんと存在するかはこちらではわからないので、which ssh とかで確認してください... [参考サイト] http://totech.hateblo.jp/entry/2015/02/27/075621 (Windows7にChef(11.6.0)とVagrant(1.7.2)を入れてプロビジョニングしてみた) うまくいけば、$ ssh harmony と打てばログインできます。 うまくいかなかったら、$ ssh -vvv harmony として -v オプションをつけるとデバッグ情報が出るので、そこから原因を探ってみてください。