joppot

コピペで絶対動く。説明を妥協しない

サーバ プログラミング

fabricでvagrantのデフォルトの秘密鍵を使ってサーバにアクセスする

投稿日:2014年10月31日更新日:

Pocket

o9gmnw

概要

みなさんこんにちはcandleです。今回はfabricを使ってvagrant上のvmにアクセスする方法を紹介します。様々なサイトを閲覧すると、あまりvagrantのデフォルトの鍵を使用して、fabricから操作をする事例が無かったのでここにまとめます。

vagrantはその上でどんなOSが動いていても共通の鍵を使ってssh接続しています。
例えばvagrantでCentOSを動かしていてもUbuntuを動かしていても同じ秘密鍵を使います。

fabricでアクセスする時もこの鍵を使ってアクセスしてみましょう。

vagrantで動いているOSは恐らくなんでも良いのですが、私はCentOS6.5を使います。

前提

vagrant情に何らかのlinuxコマンドが打てるOSが入っている
fabricがインストールされている
fabfileの最低限の使い方がわかる


vagrantにアクセスするための設定

fabfile.pyを開いて、共通の設定を書き込みます。

# -*- encoding:utf-8 -*-
from fabric.api import *
from fabric.colors import *

これはfabric関連のapiをインクルードしています。

次に、vagrantのIPアドレスとユーザー名を設定します。
vagrantではsshでアクセスする時は「127.0.0.1」を参照します。
ユーザー名は「vagrant」です。

#サーバのIPアドレス。
#ローカルでやる場合はプライベートIPアドレス
env.hosts = ['127.0.0.1']
env.user = "vagrant"

こんな感じですね。

vagrantsetup

ちなみに、sshの127.0.0.1の確認方法はvagrantをupした時に確認できます。

checkvagrantadress

次に、vagrantの秘密鍵のパスとsshのポート番号を記入します。

秘密鍵のパスは恐らく万人共通だと思いますが、一応各人調べてください。
sshのポート番号は上の図を見ても分かるように、2222ですね。

#vagrant環境でやる場合は下をコメントイン
env.key_filename = '~/.vagrant.d/insecure_private_key'
env.port=2222

どうでしょうか。最終的に下のようになります。

vagrantaccesssetting

設定は以上です。

fabricからvagrantにアクセスする

試しにfabricのタスクを作って、サーバを操作してみましょう。

def hello():
    run("touch test.txt")

これを実行してみます。

fab hello

するとvagrantのサーバにtest.txtが作成されます。

fabhelotovagrant

サーバにsshで移動してホームディレクトリをみると
vagranthellohoge


まとめ

vagrant環境に対してfabricのコマンドが使える様になると、一段と速くサーバの環境設定ができる様になりますね。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ, プログラミング
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

gitのリモートプライベートリポジトリを公開鍵認証を使って環境構築する

概要 みなさんこんにちはcandleです。 今回はgitのリモートプライベートリポジトリを作ってみたいと思います。 リモートリポジトリと言えば、Githubとかbitbucketが有名だと思います。会 …

MAMPでphpのshell_execを使用してunixコマンドを実行できない場合の対処(imagemagick,convert)

概要 みなさんこんにちはcandleです。今回はちょっと問題が起きてshell_execがうまくいかないときのトラブルシューティングをまとめます。 私はMAMPをバージョンアップする前は、phpのsh …

ruby on rails のckeditor gemの機能ボタンをカスタマイズする

概要 みなさんこんにちはcandleです。今回はruby on rails のckeditor gemのショートカットボタンをカスタマイズして自分が必要な機能のみを表示してみましょう。 前提 cked …

basscss v8以降にv7以前のスタイルを追加する(自分用メモ)

概要 みなさんこんにちはcandleです。今回はbasscssのv8でかなりデフォルトのスタイルから削除されてしまったスタイルをインポートします。 v7以降からbasscssのスタイルはかなり分割され …

railsの多対多リレーションでcounter culture を使用する

概要 みなさんこんにちはcandleです。 今回は多対多のリレーションが貼られているrailsアプリケーションで、counter cultureを使ってレコード数を数えてみたいと思います。 以下のよう …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ