A Little Each Day

note to self

git pushする度にUsernameとPasswordを求められる場合の解決方法

こんにちは。本日はGitにpushする際に毎回パスワードやユーザーネームを聞かれる解決方法についてです。

https通信の場合とssh通信の2通りの解決方法があるみたいですが、今回はssh通信の方法で説明したいと思います。

pushするたびにユーザー名とパスワードを聞かれる

コードを書いて、いざGitでpushしようとしたらユーザー名とパスワードを聞かれるようになった。

$ git push
Username for ・・・
Password for ・・・


この原因ですが、おそらくhttps通信で対応するようになっているからです。

$ git remote -v
origin	https://github.com/hogehoge/hoge.git (fetch)
origin	https://github.com/hogehoge/hoge.git (push)


これだとpushするたびにユーザー名とパスワードを聞かれてしまいます。


httpsではなくsshにする

sshで鍵認証して通信すればエラーなくpushできました。

$ git remote set-url origin git@github.com:hogehoge/hoge.git


※もしssh認証鍵を持っていない場合は過去記事を参照してください。

blog.otsukasatoshi.com


https通信からssh通信に変わっているか確認しましょう。

$ git remote -v
origin	git@github.com:hogehoge/hoge.git (fetch)
origin	git@github.com:hogehoge/hoge.git (push)


きちんとssh通信に変わっていますね。


ユーザー名とパスワードを聞かれないようになっているかは、もう一度pushすれば確認できます。

$ git push


以下のようなメッセージが表示されればOKです。

Everything up-to-date


ちゃんとアップデートできていることがわかると思います。



本日は以上です。