SSHだの公開鍵だのといわれてもわからない,って人は,まずこっちが先です.
Can not open display
SSHで接続してgitすると,パスワードを入力するときにエラーが出る場合があります.その対策は・・・
- SSH接続するときに, -X オプションをつけて XQuartz を有効にしておく. あるいは
- unset SSH_ASKPASSしてからgit
パスワードなしでGIT
git clone の後ろが HTTPS: になっている場合,gitサーバーにアクセスするたびに,パスワードの入力が必要になり,面倒です.GITサーバーによっては,SSH鍵を登録できます.
- cat ~/.ssh/id_rsa.pub コマンドを行って,エラーする場合には,ここに書いてあるように, ssh-keygen を行ってください.MacでもLinuxでも作業方法は同一です.
- Linux計算サーバーではここでやってるかもね
- まあいずれにせよ, 上記コマンドで表示されるハナモゲラ文字列が「SSH公開鍵(パブ鍵,鍵穴)」というものです:
ssh-rsa AAAAB3NzaC1yc2EAAAAB・・・ありえない長さ・・・・IwAAAQEAs・・・kuins.net - サーバーでSSH鍵を登録します.BITBUCHETでは,下記の画面で行います(【アカウント管理】【SSHキー】)
注意!! bitbucket では, 各レポジトリの【設定】にも【SSHキー】がありますが,これは使用目的が違います.
パスワードなしGITの利用
- GITサーバーに鍵を追加すると,プロジェクトのアクセスサイトとして,HTTPS 以外に,SSH が選択できるようになります.
アドレスをコピーしておいてくださいな.
- プロジェクトの .git/config ファイルを見てみましょう.もしもあなたが最初に git clone https://.... でプロジェクトに参加した場合,こんな感じになっています:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://sugimoto605@bitbucket.org/rgdkyotou/mix3.git [branch "newStack"] remote = origin merge = refs/heads/newStack
あなたが git clone git.... で参加した場合,ここの作業は不要です(最初からSSH用に設定されているはず).
- デフォルトでは,GITサーバーに"origin"という名前が付いています.アクセス方法はHTTPSになってますよね.そこで,SSHサーバーを追加しましょう. さっきコピーしたアドレスを使って記述します:
[remote "ssh"] fetch = +refs/heads/*:refs/remotes/origin/* url = git@bitbucket.org:rgdkyotou/mix3.git
- 注意! ソフトによっては,remote "origin" 以外の設定を無視する輩がいます.その場合には,もう普段使う方の名前を "origin" にするしかないですね.
- これで,アクセスできるようになりました.例えば,プッシュコマンドは次のようになります:
$ git push ssh
パスワードをいちいち入力しなくても,アップできるはずです.