LoginSignup
2
3

More than 5 years have passed since last update.

Deployerのssh接続設定

Posted at

イントロダクション

DeployerはPHP製のデプロイツールです。これを使うことでFTPでの手動公開でありがちな公開時のファイル漏れや、部分的なファイルアップロードによる公開途中の不具合などをかなり減らすことができます。また、過去バージョンを保存する機能により、公開後のロールバックにも対応します。
この設定において、ssh接続設定のところで少し複雑な部分があったため、忘れないようにメモしておきます。

Deployerの仕組み

公開はローカルPCからのコマンドにより実行しますが、サイトへの公開はローカル環境からではなくGit上のデータを公開します。
そのため、Gitの利用は必須となります。(ただしGithubではなくても、BitbucketやオンプレミスのGitなどでも問題ありません。)

設定

Deployerの基本設定はいろいろなサイトに記載がありますので、ここでは省略して、ssh周りの設定に絞ります。
DeployerにはローカルPC、Git、公開サーバーの各接続にsshを利用します。

具体的には以下の2点を設定します。

  • deployを実行するローカルPCの公開鍵を公開サーバーに登録
  • 公開サーバーの公開鍵をGitに登録

ローカルPC - 公開サーバー

ローカルPCでRSA暗号の鍵を生成します。

ローカルPC.
$ ssh-keygen -t rsa

生成が完了したら、下記コマンドで確認します。

ローカルPC.
$ ls ~/.ssh
id_rsa id_rsa.pub

相手先(公開サーバー)のauthorized_keysに自身(ローカルPC)の公開鍵(id_rsa.pub)を登録します。
SCPコマンドを使って、サーバー間転送を行います。こんな感じで記述します。

ローカルPC.
// scp [公開サーバーのユーザ名]@[公開サーバーのホスト名]:~/.ssh/id_rsa.pub .
$ scp public@public-server.com:~/.ssh/id_rsa.pub .

転送が完了したら、公開サーバー側でauthorized_keysにキーを追加します。(その後id_rsa.pubを削除)

公開サーバー.
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ rm id_rsa.pub

パーミッションを600に変更します。

公開サーバー.
$ chmod 600 authorized_keys

以上の設定が完了したら、ローカルPC - 公開サーバーの設定は完了です。
以下コマンドで接続テストを行います。

ローカルPC.
// ssh -l [公開サーバーのユーザ名] -i [秘密鍵のパス] [公開サーバーのホスト名] -p [sshのポート番号]
$ ssh -l public -i ~/.ssh/id_rsa public-server.com -p 22

公開サーバー - Git

こちらも同様にキーを設定します。
キーの生成は先の手順と同様に、今度は公開サーバーにて公開鍵、秘密鍵を生成します。

公開サーバー.
$ ssh-keygen -t rsa

Gitへの登録はファイル転送ではなくブラウザからコピペで登録します。

公開サーバー.
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0zaFz1R4V27....

↑これを丸々コピペ

Gitをブラウザから開いて、ユーザーのプロフィール設定からSSH鍵登録を行います。
(プロジェクトのSSH鍵登録ではないので注意!)
登録が完了したら接続テストを行います。

公開サーバー.
GitHubなら
$ ssh -vT git@github.com

BitBucketなら
$ ssh -T git@bitbucket.org

logged in as …の表示が出ればOK。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3