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の最低限の使い方がわかる

SPONSORED LINK


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

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

関連記事

let’s encryptのssl証明書をvagrantのubuntuを使用して取得する

概要 みなさんこんにちはcandleです。2014年の後期にmozillaあたりが主導して、無料のssl証明書作ろうという動きがありました。ついに去年の12月にβ版がでたので、早速試してみました。 ち …

正規表現を極めるその1

概要 みなさんこんにちはcandleです。今回から正規表現を1から100まで極めようと思います。 正規表現って、使えると便利ですが、それを勉強して使いこなせている人って少ないと思います。この機会にぜひ …

fluentdでrails logをtailで直接取得する方法

概要 追記) この記事はだいぶ古くなってしまったので、新しく書き直しました。 こちらの方を参照した方が多分良いことが書いてあります。 https://joppot.info/2017/03/17/35 …

Rails pluginでengineを使ったgemの作り方[6](config編)

概要 みなさんこんにちはcandleです。今回は前回に引き続き、gemの作成をやっていきます。 gemのconfigとは恐らく一般的に以下の様な状況の時に使う事になると思います。 例えば、gemのプロ …

MAMPのSQLiteManagerを使用してsqlite3データベースの作成とデータベースファイルの設置

概要 みなさんこんにちはcandleです。今回はsqliteデータベースをMAMPを使用して作成しましょう。 PHP5.3からsqlite3のクラスが充実して、mysqlを使用しなくてもsqliteで …

  • English
  • 日本語

プロフィール


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

スポンサードリンク

アーカイブ