joppot

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

プログラミング

fabricのsshのネットワーク設定でパスワードか公開鍵を使って認証する

投稿日:

Pocket

irbiuew

概要

皆さん今日はcandleです。今回はsshを使ったfabricの設定をしましょう。
一般にsshにはパスワード認証と公開鍵認証があるので、そのどちらも試してみましょう。

もちろんセキュリティ面で考えれば公開鍵を使う事をおすすめしますが、そこは臨機応変といきましょう。

前提

fabricが動くPCが1台
VMかLAN内のサーバなど、いずれかfabricでアクセスできるサーバが1台
公開鍵認証をする場合はその公開鍵の準備

SPONSORED LINK


ネットワークの共通設定

それではfabfile.pyにネットワークの設定をしてみましょう。

まずはコメント欄に日本語を使うので、エンコーディングをutf-8にしておきましょう。
fabricのapiを面倒なので全てインポートします。

# -*- coding: utf-8 -*-                                                                                       
from fabric.api import *

接続先のIPアドレスとユーザー名を設定します。
IPアドレスはレンタルサーバーやVPNならそのIPアドレスをVMやLANの中ならプライベートIPアドレスを設定しましょう。

#サーバのIPアドレス                                                                                   
#ローカルでやる場合はプライベートIPアドレス                                                       
env.hosts = ['ホスト名かIPアドレス']
env.user = 'ユーザー名'

basicsetting

私はVirtual BoxのubuntuにアクセスしたいのでそのプライベートIPアドレスとユーザー名を記述します。
myfabricnetworksetting

これで共通設定は完了です。

パスワード認証の設定

一般にサーバのパスワードの設定は下の様に設定します。

#パスワード認証の場合はそのサーバのパスワードを                                                     
env.password = 'サーバのパスワード'

sshfabpass

これでいいですね。

公開鍵認証を使う

公開鍵を使う場合はサーバーにアクセスする為の秘密鍵を指定しましょう
この秘密鍵はいつもサーバにsshでアクセスしている時のものを使います。

#公開鍵認証の場合は秘密鍵のパス                                                                               
env.key_filename = '秘密鍵のパス'

私の場合は下の様になります。

fabsshprivatekeypass

もちろん、公開鍵認証する場合はパスワードの項目をコメントアウトして、
パスワード認証する場合はキーのパスの項目をコメントアウトしましょう。


試しにコマンドを実行してみる

下の関数をfabfile.pyに書き込みます。

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

fabhello

実行してみましょう。
うまくいけば、ホームディレクトリにhello.txtが作成されます。

fab hello

dofabhello

サーバのホームディレクトリを見ると作成されています。
うまくいきましたね。

checkhellotext

まとめ

sshの設定は以上ですね。

スポンサードリンク

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

-プログラミング
-, , ,

執筆者:


comment

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

関連記事

React開発環境構築コマンドcreate-react-appが便利すぎたのでまとめてみた

English 日本語 概要 みなさんこんにちはcandleです。 今回はcreate-react-appコマンドを使ってreactの開発環境の構築とhello worldあたりまでやってみたいと思い …

railsのcoffee scriptをurl判定をして実行をする方法

概要 みなさんこんにちはcandleです。 今回はcoffeescriptを任意のURLで実行する様にする関数を作ります。 というのはrailsは最終的にassetspiplineでjavascrip …

railsのform_forとstrong parametersを使用してpdfをアップロードする

概要 みなさんこんにちはcandleです。今回はrailsのform_forを使って、railsプロジェクトのpublicディレクトリにpdfファイルをアップロードしてみましょう。 form_forは …

ruby on railsのgemのインストールで不要なファイルをインストールしない設定

概要 みなさんこんにちはcandleです。私の記事はどうしても先人のプログラマーがまとめた内容を追試しているような感じになっていますが、これも重要なことなので、忘れないためにもまとめておきます。 ru …

memcachedサーバとruby on railsのdalliを使用してセッションを管理する

概要 みなさんこんにちはcandleです。今回はmemcachedサーバを利用してrailsのセッションを管理してみたいと思います。 一般にrailsでセッション管理をしていると、ブラウザのcooki …

  • English
  • 日本語

プロフィール


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

スポンサードリンク

アーカイブ