概要
皆さん今日はcandleです。今回はsshを使ったfabricの設定をしましょう。
一般にsshにはパスワード認証と公開鍵認証があるので、そのどちらも試してみましょう。
もちろんセキュリティ面で考えれば公開鍵を使う事をおすすめしますが、そこは臨機応変といきましょう。
前提
fabricが動くPCが1台
VMかLAN内のサーバなど、いずれかfabricでアクセスできるサーバが1台
公開鍵認証をする場合はその公開鍵の準備
ネットワークの共通設定
それでは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 = 'ユーザー名'
私はVirtual BoxのubuntuにアクセスしたいのでそのプライベートIPアドレスとユーザー名を記述します。
これで共通設定は完了です。
パスワード認証の設定
一般にサーバのパスワードの設定は下の様に設定します。
#パスワード認証の場合はそのサーバのパスワードを env.password = 'サーバのパスワード'
これでいいですね。
公開鍵認証を使う
公開鍵を使う場合はサーバーにアクセスする為の秘密鍵を指定しましょう
この秘密鍵はいつもサーバにsshでアクセスしている時のものを使います。
#公開鍵認証の場合は秘密鍵のパス env.key_filename = '秘密鍵のパス'
私の場合は下の様になります。
もちろん、公開鍵認証する場合はパスワードの項目をコメントアウトして、
パスワード認証する場合はキーのパスの項目をコメントアウトしましょう。
試しにコマンドを実行してみる
下の関数をfabfile.pyに書き込みます。
def hello(): run("touch hello.txt")
実行してみましょう。
うまくいけば、ホームディレクトリにhello.txtが作成されます。
fab hello
サーバのホームディレクトリを見ると作成されています。
うまくいきましたね。
まとめ
sshの設定は以上ですね。