Laravel学習帳

Laravel5.2の学習帳です。開発環境はXAMPP for Windows 5.6.19 / 本番環境はさくらサーバー(スタンダード)

環境構築

さくらレンタルサーバからSSHでbitbucketの接続テスト

本番サーバ(さくらレンタルサーバ)からBitbucketにあるリモートリポジトリをクローンするためには、事前準備としてSSHプロトコルで接続できるようにしておかないといけません。

そのためにはデプロイ用の公開鍵・秘密鍵を作成して公開鍵をBitbuketに設定する必要があります。

 

やりたい事

公開用サーバからSSHでBitbucketに接続する。

 

手順

【1】コンソールでSSH認証の公開鍵と秘密鍵を作成

【2】公開鍵の内容をクリップボードに保存

【3】Bitbucketに公開鍵を登録

【4】configの設定

【5】秘密鍵のパーミッションを変更

【6】接続テスト

 

【1】コンソールでSSH認証の公開鍵と秘密鍵を作成

Bitbucketとの接続にはSSHプロトコルを用います。

そのために公開鍵をBitbucketのユーザと紐づける必要があります。

さくらのレンタルサーバにSSHで接続して公開鍵と秘密鍵を作成します。

% cd ~/.ssh
% ssh-keygen -t rsa -C {Bitbucketで登録したメールアドレス}
【構文】ssh-keygen
公開鍵認証方式で使用するキーペアを生成します。

上記のコマンドを実行すると

1)鍵の保存先
2)パスワード×2回

を聞かれます。

必要に応じて各自入力してください。

自分は全て何も入力せずエンターで進みました。

(※鍵の保存先はデフォルトのまま/パスフレーズは空のまま。)

鍵の保存先とパスワードの入力が終わると~/.sshディレクトリに

・id_rsa(秘密鍵)
・id_rsa.pub(公開鍵)

が作成されます。

 

【2】公開鍵の内容をクリップボードに保存

lessやcatコマンドなどで公開鍵の内容を表示します。

$ cat ~/.ssh/id_rsa.pub

表示された公開鍵の内容をマウスで選択してコピーします。

 

【3】Bitbucketに公開鍵を登録

Bitbucketにログインします。

1)ユーザアイコン => 「Bitbucket setting」

2)「セキュリティ」 => 「SSH 鍵」 => 「鍵を追加」

3)出力されたフォームに適当な「ssh-rsa」を入力し、「Key」の箇所に【2】でコピーした公開鍵の内容をペーストします。

 

【4】configの設定

.ssh/configファイルでSSH接続を管理します。

$ cd ~/.ssh/
$ vi config

~/.ssh/configにはSSH接続時の情報を定義しておくことができます。

Host bitbucket.org
 HostName altssh.bitbucket.org
 User git
 Port 443
 IdentityFile ~/.ssh/id_rsa
 TCPKeepAlive yes
 IdentitiesOnly yes
【解説】
~ 主要な設定項目 ~
Host ⇒ sshコマンド等で指定するホスト名。
HostName ⇒ 実際に接続ホストのアドレス。IPアドレスやホスト名を指定。
User ⇒ ユーザー名
Port ⇒ ポート番号 (※22ポートだとエラーが出たので443ポートにしました)
IdentityFile ⇒ 秘密鍵ファイル

 

【5】秘密鍵のパーミッションを変更

このままだと秘密鍵の方のファイルパーミッションがオープンすぎるのでエラーが出ます。

秘密鍵のパーミッションを0600に変えます。

% chmod 0600 ~/.ssh/id_rsa

 

【6】接続テスト

$ ssh -T bitbucket.org
【構文】
sshコマンドはリモートホスト(※ここではbitbucket.org)に接続してコマンドを実行する時に使用します。
オプションのTは仮想端末の割り当てを禁止します。(※小文字だとエラーが出るので注意)

下記のような画面になればOKです。

以上で公開サーバからBitbucketに繋がります。

 

-環境構築