github設定
githubの設定のメモ。
ローカルリポジトリの生成
Windows上にローカルリポジトリを生成します。Windows環境下では主にCygwin上で開発しているので、git用リポジトリを生成するために、Cygwinを開いてローカルリポジトリ用のディレクトリを作成後、以下のコマンドを実行します。
$git init
手順通り、適当なファイル作ってをcommitしてみます。
$touch README $git add README $git commit -m 'first commit' $git remote add origin git@github.com:***/test.git $git push origin master
公開鍵・秘密鍵の生成
ところが、最後の git push origin master で
Permission denied (publickey). fatal: The remote end hung up unexpectedly
とエラーが出てcommitできません。
どうもsshの認証でエラーみたいなので、色々調べると以下のような記事を見つけて解決できました。
- github help SSH issues
- ローカル(Windows, cygwin)からGithubのリポジトリにpushするメモ
- 「Permission denied (publickey).」と言われてGitHubが使えなくなった場合の対処法
秘密鍵と公開鍵を生成し、githubの自分のアカウントページに公開鍵を登録すれば解決する模様。
$ssh-keygen -t dsa -f ~/.ssh/id_rsa_github
~/.ssh/以下に秘密鍵(id_rsa_github)と公開鍵(id_rsa_github.pub)が生成されます。さらに、~/.ssh/configに以下を追記します。
Host github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
秘密鍵の登録
ローカルで以下のコマンドを実行してssh-agentを起動し、秘密鍵を登録します。
$eval `ssh-agent`
4ssh-add $HOME/.ssh/id_rsa_github
再度git pushを実行してみます。
$ git push origin master Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 914 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:***/test.git * [new branch] master -> master
成功したようです。