自分のgitとsshの鍵管理や設定を書き留めておきます.参考になるかわかりませんが...笑
#鍵作成
他のサイトにたくさん書いてる
$ ssh-keygen -t rsa
#.ssh/configについて
sshの公開鍵と秘密鍵はそれぞれで作っています(管理しやすいかなと思いまして).それぞれのディレクトリに公開鍵と秘密鍵が格納されている感じです.
~/.ssh
ls -l | grep ^d
drwxr-xr-x 4 hogehoge staff 136 7 7 21:32 bitbucket
drwx------ 4 hogehoge staff 136 4 28 19:54 gitbucket
drwxr-xr-x 4 hogehoge staff 136 7 7 21:33 github
drwxr-xr-x 5 hogehoge staff 170 7 6 14:21 myserver
以下が~/.ssh/configの中身(一部だけ)
~/.ssh/config
Host Myserver
HostName (適当なIPアドレス or FQDN)
Port 22(設定したやつ)
IdentityFile ~/.ssh/myserver/id_rsa
User hogehoge
Host BitBucket
HostName bitbucket.org(絶対これ)
IdentityFile ~/.ssh/bitbucket/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
User git(任意)
Host GitHub
HostName github.com(絶対これ)
IdentityFile ~/.ssh/github/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
User git(絶対これ)
GitHubのUserは必ずgitじゃないとうまくいかなかったです.BitBucketは任意でもいけたが,GitHubと揃える形でgitにしました.
#.git/configについて
GitHubバージョン
リポジトリ名/.git/config
[core]
repositoryformatversion = 0
filemode = true
logallrefupdates = true
precomposeunicode = true
[remote "origin"]
url = GitHub:(ユーザ名)/(リポジトリ名).git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = false
BitBucketバージョン
リポジトリ名/.git/config
[core]
repositoryformatversion = 0
filemode = true
logallrefupdates = true
precomposeunicode = true
[remote "origin"]
url = BitBucket:(ユーザ名)/(リポジトリ名).git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = false
urlの部分が違うだけです."GitHub"や"Bitbucket"は.ssh/configで設定したHostと同じものにします.ユーザ名はそれぞれのサービスのユーザ名にします.(.ssh/configのUserではありません!)