git clone で error: The requested URL returned error: 401 Authorization Required 時の認証設定(ファイル or SSH) + eclipseで設定
github側のリポジトリ用の認証設定をしていちいちログインせずにコーディングする。
簡単設定
個人で開発するくらいのレベルならホームディレクトリーに.netrcファイルを用意することで解決できる。
~/.netrcの中身はこんな感じ
machine github.com login ユーザ名 password パスワード
これで普通に使える。ただし、httpのみ
sshで設定
まずキーを生成する。
デフォルトで作ってもいいけど、github_rsaというファイルで専用のキーを作ることにする。
ssh-keygen -t rsa -f ~/.ssh/github_rsa
次に~/.ssh/configファイルを作って、下記の内容で設定する。
Host github.com User git Port 22 Hostname github.com IdentityFile ~/.ssh/github_rsa TCPKeepAlive yes IdentitiesOnly yes
github_rsa.pubファイルの中身をgithubのssh設定(下記のURL)に貼付ける。
https://github.com/settings/ssh
これでssh設定は完了。
以下のコマンドで通信できるかの確認し、successfully authenticatedが出ればOK
$ ssh -T git@github.com Hi byunsangho! You've successfully authenticated, but GitHub does not provide shell access.
もしBad owner or permissions エラーが出たらconfigファイルのパーミッションがよろしくないので、
$ chmod 600 ~/.ssh/config
で解決できるはず
番外編 eclipseで設定
コマンドラインが安全だが、eclipseのegitでgithubを使いたい場合にssh設定編
eclipse 4.2基準
general -> network connections -> ssh2
add private keyで上記で設定したsshキーをeclipseで設定する。
あとはgithub側のssh urlをコピーしてcloneする。
ユーザ名はgitのままで変更しない。以後ログインはいらなくなる。