こんにちは、@pompom0c0 です。
gitlabからcloneするときに、HTTPからだとPermission denied (publickey)エラーが発生するので、
SSHの設定をしたときのまとめです。
1. 公開鍵と秘密鍵を生成
ホームディレクトリに.sshディレクトリを作成し、公開鍵と秘密鍵を生成します。
$ cd
$ mkdir .ssh
$ ssh-keygen
デフォルトの設定では、
公開鍵: ~/.ssh/id_rsa.pub
秘密鍵: ~/.ssh/id_rsa
と命名されています。秘密鍵は絶対に流出させないようにしましょう。
流出したら新しく作り直して、サーバーに登録した公開鍵も更新しましょう。
2. 秘密鍵をキーチェインに登録する(Mac限定)
Macの方がセキュリティが厳しいため、ログインする際に毎回パスワードを聞かれます。
キーチェインに登録すれば、パスワード入力を省略できるので、乗っ取られるリスクの少ない人はぜひ設定しましょう。
$ openssl rsa -in id_rsa -out id_rsa2
id_rsa2のファイルにパスワードが登録されたので、このファイルをid_rsaに名前変更します。
(元のid_rsaファイルは念のためにバックアップを取っておくと良いです。)
3. ファイルやディレクトリのアクセス権を変更
id_rsaの所有者に読み込みと書き込みの権限をつけます。
$ chmod 600 id_rsa
4. gitlabに公開鍵を設定
公開鍵をgitlabにコピー&ペーストします。この時、vimからマウス操作でやるとスペースなどが混入することが多いので、
pbcopyコマンドか、テキストエディタからコピーするといいです。
$ cat id_rsa.pub | pbcopy
gitlabのProfile Settings > SSH Keysに飛び、Keyに公開鍵を貼ります。
Titleはid_rsa.pubでも、なんでも大丈夫です。
Add Keyを押して完成です。
まとめ
HTTPでcloneもできなくはないのですが、SSHの方が安全ですし、
Permission denied (publickey)エラーが発生した時困ると思うので、早めに設定しておくことをオススメします:)
参考記事
ssh公開鍵認証設定まとめ
http://qiita.com/ir-yk/items/af8550fea92b5c5f7fca
Linuxコマンド集【 chmod 】 ファイルやディレクトリのアクセス権を変更する
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230728/
Macな人は pbcopy が便利
http://qiita.com/mktakuya/items/c57a12b5b072a658acd0