はじめての環境構築: ローカル環境・さくらレンタルサーバーでbash、sshを設定

こんにちは、友馬です。

先日、MacBookとiPadを購入し、やっとデザイナーとしてより技術を追求していくガジェットがそろいました。
それに合わせて、ポートフォリオサイトや巷で話題な技術を試す環境を整えました。

今回は、基本的なローカル環境の設定と、さくらレンタルサーバーのデフォルトシェルの変更、sshで公開鍵認証でログイン出来るようにするまでを、ターミナルで実際に打ったコマンド等と共に紹介したいと思います。

目次:

  1. ローカル環境の設定
  2. サーバーのbash設定
  3. ssh公開鍵認証でログイン

環境・ツール:

  • OS X Mavericks
  • OS Xのターミナルアプリケーション
  • さくらレンタルサーバー:スタンダードプラン
  • MAMP

ローカル環境の設定

ローカルでgitを使えるようにする

アプリケーション>ユーティリティ からターミナルを起動し、Dockに追加しましょう。

早速ターミナルで、

[local] git

を入力すると、gitをインストールするかを尋ねられましたので、yesと答えるとインストールしてくれました。便利ですね〜。

バージョンは1.8.5でした。その内、最新版にアップデートしようかな。

.bashrcや.vimrc の設定はお好みで。
※自分の物もこっそり公開するかも

MAMPを導入する

Windowsを使っていた時は、PHPファイルやJSファイルを扱ったりする際のローカル確認用にXamppを利用していました。OS Xの場合はXamppとほぼ同じ機能を利用出来るMAMPを利用します。

まずは、MAMPのサイトにアクセスして、.zipファイルをダウンロードしましょう。
ダウンロード完了後は、解凍したdmgファイルを開いてインストールしていきます。

すると、MAMPとMAMP Proの二つのどちらかをアプリケーションにドラッグアンドドロップ出来るウィンドウが出てくるので、今回はMAMPをアプリケーションに移動します。

これでMAMPのインストール完了です。

ポート番号やhttpd.confの設定等はもう少し情報を集めて理解した上で設定したいので、また別の機会にやっていきます。

MAMPの公開ディレクトリは /Applications/MAMP/htdocs/ ですので、ターミナルに戻ってディレクトリ移動を簡単にできるよう、シンボリックリンクを作っておきました。

[local] ln -s /Applications/MAMP/htdocs/ ~/.mamp

サーバーのbash設定

さくらサーバーのデフォルトシェルを変更する

職場ではbashを使っていますので、さくらサーバー側のデフォルトシェルもbashにしてみます。

まずはsshでさくらレンタルサーバーにログインします。

[local] ssh username@example.sakura.ne.jp

次に、bashをデフォルトシェルに変更します。

[server] chsh -s /usr/local/bin/bash
[server] Password: # パスワードを入力

続いて、.bash_profileを作成します。

[server] cd
[server] vi  .bash_profile

.bashrcを読み込むよう以下の通り記述。

if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi

続いて、.bashrcを作成します。

[server] vi  .bashrc

とりあえず必要最低限の内容を記述。

# 環境変数PATHの設定
PATH=$PATH:$HOME/local/bin

# 環境変数LANGの設定
export LANG=ja_JP.UTF-8

最後にサーバーに再ログインすると、デフォルトシェルがbashになりました。

ちなみに、利用可能なシェルの確認は以下のコマンドで出来ます。

[server] cat /etc/shells

ssh公開鍵認証でログイン

ターミナルからさくらレンタルサーバーにログインする際に、毎回パスワードの入力をしないといけないのが地味に面倒でしたので公開鍵認証でログイン出来るように設定してみました。

まずはローカルで公開鍵を作ります。

[local] ssh-keygen

すると、以下の様なメッセージが来ますので、
それぞれに対応しましょう。

Generating public/private rsa key pair.

# 秘密鍵・公開鍵の保存先。基本的にはそのままでOK。
Enter file in which to save the key (/Users/username/.ssh/id_rsa):

# 公開鍵のパスワードを入力します。空欄は避けた方がベター。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

これで、 /home/username/.ssh/ に公開鍵が作成されます。
早速、確認してみます。

[local] cd ~/.ssh
[local] ls -1
id_rsa    # 秘密鍵
id_rsa.pub    # 公開鍵
known_hosts

よしよし。

早速、公開鍵(id_rsa.pub)を、さくらサーバーに送信ましょう。
さくらレンタルサーバーの基本仕様によると、対応プロトコルはSSH2なので、authorized_key2として送ります。
※セキュリティが気になる場合は、id_rsa.pubの内容をそのままサーバー上でviでコピペ・作成した方が安心かも

[local] scp id_rsa.pub username@example.sakura.ne.jp:/home/username/.ssh/authorized_keys2

パスワードを求められますので、サーバーのパスワードを入力します。

[local] username@example.sakura.ne.jp's password:

問題なければ、さくらサーバーにファイルが転送されます。
では、さくらサーバーにログインしましょう。

[local] ssh username@example.sakura.ne.jp
[local] username@example.sakura.ne.jp's password:

.sshディレクトリのパーミッションを700に変更・確認します。

[server] chmod 700 /home/username/.ssh
[server] ls -al /home/username/

authorized_keys のパーミッションを400に変更・確認します。

[server] chmod 400 /home/username/.ssh/authorized_keys2
[server] ls -al /home/username/.ssh
-r--------  1 username  users  ...(省略)... authorized_keys2

パーミッション設定の変更を確認後、ログアウトします。

[server] exit

最後に、鍵認証でログイン出来るか確認して見ましょう。

[local] ssh username@username.sakura.ne.jp

成功していると、ここでダイアログが表示されます。
公開鍵のパスワードを入力してログインしましょう。
「パスワードをキーチェーンに保存する」にクリックしておくと次回からはパスワード入力なしでログインできるようになります。

ついでに、ローカルの.bashrcにエイリアスを設定して、楽にログイン出来るようにしてみました。

[local] vim .bashrc

# エイリアスを追加
alias login="ssh username@example.sakura.ne.jp"

これで、ターミナルでloginと入力するだけでさくらサーバーにログイン出来るようになりました。楽ちん!

参考:


ここまででローカル環境とさくらレンタルサーバーのbash、sshの設定がとりあえず出来ました。
次は、サーバーにgitやvimを導入してローカルでコーディングしたものをサーバーで管理・運用が出来るように設定してみようと思います。

お付き合いいただき、ありがとうございました。

コメントを残す