はじめに
複数のパソコンを使っているので自宅のサーバーなどに1か所Gitのリポジトリがあると大変便利ですが、外出先で参照したいときは場合によってはVPNなどの工夫が必要になります。このためだけにVPNを用意するのはちょっと面倒なのでレンタルサーバーをGitリポジトリにしました。その方法をメモっておきます。
今回はロリポップのレンタルサーバーを使用しました。ここのレンタルサーバーのHDD容量はかなり余っており、ほかの使い道が思いつかなかったのでちょうどよかったです。
サーバー:ロリポップ
SSHクライアント:WinSCP
リポジトリ作成
まずはサーバー側でリポジトリを作成します。サーバー側にGitは初めから入っているのでそれをそのまま使っていきます。
WinSCPを立ち上げてリポジトリのフォルダを作成します。今回はユーザーフォルダ下にあるwebと同じディレクトリにrepoというディレクトリを作成してその中に作成したmql.gitというディレクトリをリポジトリとしました。
(※mqlはメタトレードのファイル形式です。FXについては→「FXのMT4用にWindows10パソコンを自分で組み立てて外出先でリモート操作できるようにしてみた(自作PC)」)
そして作成したmql.gitディレクトリに移動してターミナルを開きます。
ここで「git init --bare」とコマンドを打つとリポジトリができます。
とりあえずここまででリポジトリの作成は終わりです。
Tortoise Gitとの連携
次にホスト側でTortoise Gitで先ほど作成したリポジトリにPushしようと思います。Tortoise Gitの設定からリモートリポジトリを設定していきます。
まずはロリポップのSSHの画面を開いて「サーバー」の欄の「ssh***.lolipop.jp」の箇所を確認します(***には数字が入ると思います)。また、「アカウント」と「接続ポート」も控えておきます。これらを組み合わせてSSHのURLを作成します。
ssh://(アカウント)@(サーバー):(接続ポート)/(リポジトリのディレクトリパス)
私の場合は伏字を入れますが以下のようになります。
ssh://***.jp-*****@ssh***.lolipop.jp/~/repo/mql.git
そして、このリモートリポジトリにPushします。するとSSHパスワードを求められるのでそれを入力するとうまくいくと思います。
ただ、このままだと毎回SSHパスワードを求められるようなので大変煩雑です。なので、秘密鍵・公開鍵の仕組みを使ってここの作業をなくしたいと思います。
SSHの秘密鍵・公開鍵作成で簡略化する
鍵の作成
WinSCPを入れると恐らく一緒についてくる「PuTTYgen」という鍵生成ソフトを使って秘密鍵と公開鍵を作成します。
まずは「Generate」を押すと鍵の生成がはじまるのでGUI内の空白の箇所でマウスカーソルを適当に動かします。作成し終わったら「Save public key」で公開鍵を、「Save private key」で秘密鍵を保存します。
秘密鍵の設定
秘密鍵ファイルは先ほどのリモートリポジトリの設定の「Putty認証」の欄に設定します。
公開鍵の設定
先ほど作成した公開鍵ファイルを変換します。Git Bashを開いて以下のコマンドをたたきます。(公開鍵ファイルと同じディレクトリ)
$ ssh-keygen -i -f (公開鍵ファイル(.key)) > authorized_keys
するとauthorized_keysが作成されるのでWinSCPでユーザーディレクトリ直下(webと同じ層)に「.ssh」フォルダを作成してその中に保存しておきます。必要に応じてパーミッションも設定しておきます。
最後に
これでPushやPullができるはずなので終わりです。
まとめ
レンタルサーバーにリポジトリを作成してTortoise Gitと連携しました。また、秘密鍵と公開鍵を作成してパスワード入力の省略も行いました。あまり関係ないですが、平成最後に何か書けて良かったです。
あと、アイキャッチの画像はDAZで作成してみました。