ユーザー名とパスワードを聞かれる原因
httpsでリポジトリをクローンしてきた場合に、ユーザー名とパスワードを毎回聞かれます。毎回聞かれずにpushをしたいのであれば、SSH接続を設定するか、もしくは認証情報の仕組みを拡張(詳しいことはわからないので[ 7.14 Git のさまざまなツール - 認証情報の保存 ]を参照してください)するなどの対策が必要です。
秘密鍵・公開鍵を設定
SSH接続では秘密鍵と公開鍵を用いて、鍵交換方式というセキュアな接続を行います。秘密鍵とは自分だけしか見ることの出来ない鍵のことで、公開鍵とは相手に預けるための鍵のことです。この2つの鍵はペアになっており、公開鍵を預けたサイトにアクセスするには必ずペアの秘密鍵を持っているマシンでなければなりません。
詳しくはこちら
http://nigohiroki.hatenablog.com/entry/2013/08/18/221434
秘密鍵・公開鍵の生成
$ ssh-keygen -t rsa -C email@example.com
email@example.com には自分のメールアドレスを入れてください。
鍵を保存するファイル、パスフレーズの入力を求められますが、何も入力せずにエンターを押して構いません。
鍵の生成が完了した後に$ ll ~/.ssh
とするとida_rsa
とida_rsa.pub
といファイルが確認できるはずです。
GitHubに公開鍵を登録
Settings > SSH and GPG keys
から設定が出来ます。
Titleは自由に入力ができます。Keyにはida_rsa.pub
の中身をそのままコピペしてください。
SSH接続できるか確認してみる
最後にSSH接続ができるか確認してみます。
$ ssh -T git@github.com
このコマンドで以下のように表示されたら接続成功です。
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.