GitHub Desktopを独自Gitサーバーで使う(SSH接続)

この記事は次のブログに引っ越しました。

GitHub Desktopを自前のGitリモートサーバーでSSH接続で使う@さくらレンタルサーバー (Windows版/Mac版) GitHubを使うのにGitHub Desktopアプリがシンプルで便利なので、自分専用のGitサーバーにも使いたいと思った。 GitHubだと基本的に不特定多数にソース・コードが見られてしまうのでGitHubの有料アカウントを使うのもいいのだけれど、すでにお金を払っている自分のサーバーに入れたGitサーバーでGitHubDesktopアプリが使えないかなと。 ここでは、さくらレンタルサーバー(さくらインターネット)に自前のGitサーバーを建てていることが前提ですが、そのリポジトリGitHub Desktopを使いたいと思い試行錯誤の末できました。これは、その備忘録です。 ポイントはGitHubDesktopからSSH経由でローカルにクローンしてサーバとSyncできるか、なので他のサーバーでも同様に利用可能だと思います。 1行でまとめると、Mac版はGitリンクを作成してGitHubDesktopに追加。Windows版はGitShellでローカルにクローン後、GitHubDesktopに追加します。 簡単なのはMac版の方で、面倒なのはWindows版です。 MacGitHub Desktopに自前のGitリモートサーバのリポジトリを追加する方法 リポジトリ追加(クローン)用のリンクを用意し、リンクを開いたのちSSHのパスワードを入力。以降は、GitHub.comと同様にSyncなどもできる。 ■MacGitHub Desktopのクローン(リポジトリ)作成リンクのフォーマット ・さくらレンタルサーバーの場合 github-mac://openRepo/ssh://<アカウント名>@<アカウント名>.sakura.ne.jp/home/<アカウント名>/<path_to_your_remote_git_repository>/ ・上記リンクの使用例 <html> <body> <a href="github-mac://openRepo/ssh://hoge@hoge.sakura.ne.jp/home/hoge/my_git/my_repo/test.git/"> Clone to GitHubDesktop(Mac) </a> </body> </html> ■WindowsGitHub Desktopのクローン(リポジトリ)作成手順 Windows版はアプリをインストールしても、リンクにアプリを紐づけないようです。 アプリをインストールするとWindowsPowerShellベースの"Git Shell"が一緒にインストールされアイコンがデスクトップに出来ると思うのですが、GitShellからコマンドで一回クローンを行った後、クローンされたローカル側のリポジトリGitHub Desktopに追加する流れになります。 問題は、コマンドでクローン時にSSH接続のパスワードを聞いてくるのですがGitHubDesktopには影響がないらしく、そのままだとSyncしてもパスワードが通らないのでエラーがでます。 解決法としては、SSH公開鍵・秘密鍵による接続です。 GitShellでSSHキー(公開鍵・秘密鍵)のペアを作成する 公開鍵をxxxx.sakura.ne.jpサーバーの $HOME/.sshにコピーする アップした公開鍵を"cat"コマンドで"authorized_keys"に追加する クライアントからのSSH接続でパスワードを聞かれなくなったらOK GitShellでリモートサーバ(xxxx.sakura.ne.jp)からローカルへクローンする ローカルにクローンされたリポジトリをGitHubDesktopに追加する Windows版は試行錯誤して動くようになったので、まだ詳細な手順は整理できていませんが1つ1つの工程はネットに落ちています。 忘れたころ(OSの再インストールするころ)に必要になるので整理しておかねば。