Hatena::ブログ(Diary)

KEINOSの日記

KEINOS SYSTEM & The Design Teamケイノス・システム>>ケイノスの日記一覧

2016-06-10 GitHub Desktopを独自Gitサーバーで使う(SSH接続) このエントリーを含むブックマーク

GitHub Desktopを自前のGitリモートサーバーでSSH接続で使う@さくらレンタルサーバー (Windows版/Mac版)

さくらレンタルサーバー(さくらインターネット)にGitサーバーを建てていることが前提ですが、ポイントはGitHubDesktopからSSH経由でローカルにクローンしてサーバとSyncできるかなので、他のサーバーでも可能だと思います。

1行でまとめると、Mac版はリンクを作成してGitHubDesktopに追加。Windows版はGitShellでローカルにクローン後、GitHubDesktopに追加します。

簡単なのはMac版の方で、面倒なのはWindows版です。

Mac版 GitHub Desktopに自前のGitリモートサーバのリポジトリを追加する方法

リポジトリ追加(クローン)用のリンクを用意し、リンクを開いたのちSSHのパスワードを入力。以降は、GitHub.comと同様にSyncなどもできる。

■Mac用GitHub 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>

■Windows用GitHub Desktopのクローン(リポジトリ)作成手順

Windows版はアプリをインストールしても、リンクにアプリを紐づけないようです。

アプリをインストールするとWindowsPowerShellベースの"Git Shell"が一緒に出来ると思うのですが、GitShellからコマンドで一回クローンを行った後、クローンされたローカル側のリポジトリをGitHub Desktopに追加する流れになります。

問題は、コマンドでクローン時にSSH接続のパスワードを聞いてくるのですがGitHubDesktopには影響がないらしく、そのままだとSyncしてもパスワードが通らないのでエラーがでます。

解決法としては、SSH公開鍵・秘密鍵による接続です。

  1. GitShellでSSHキー(公開鍵・秘密鍵)のペアを作成する
  2. 公開鍵をxxxx.sakura.ne.jpサーバーの $HOME/.sshにコピーする
  3. アップした公開鍵を"cat"コマンドで"authorized_keys"に追加する
  4. クライアントからのSSH接続でパスワードを聞かれなくなったらOK
  5. GitShellでリモートサーバ(xxxx.sakura.ne.jp)からローカルへクローンする
  6. ローカルにクローンされたリポジトリをGitHubDesktopに追加する

Windows版は試行錯誤して動くようになったので、まだ詳細な手順は整理できていませんが1つ1つの工程はネットに落ちています。

忘れたころに必要になるので整理しておかねば。