初回の1回だけしかしない、Gitの初期設定(Userとかの設定)や公開鍵認証にてGithubへsshで接続する設定方法をいつも忘れてしまいます。なのでメモっておきます。
Gitの初期設定(NameとEmail)
Gitリポジトリにアクセスする時の名前とメールアドレスを登録します。
設定の状態を確認する
bash-3.2$ git config --global -l
設定がされてない場合に以下のようなエラーが表示
fatal: unable to read config file '/Users/x/.gitconfig': No such file or directory
名前とメールを設定します
bash-3.2$ git config --global user.name "gogolon"
bash-3.2$ git config --global user.email "gogolonsyachiku@gmail.com"
再度確認します
bash-3.2$ git config --global -l
user.name=gogolon
user.email=gogolonsyachiku@gmail.com
鍵認証にてGithubへsshで接続する
次にGithubへ接続するために鍵認証の設定をします。流れとしては以下のようになります。
- PC側で公開鍵と秘密鍵を作成
- Githubへ公開鍵を登録
- Githubへ接続する秘密鍵を指定する設定+ssh接続
1. PC側で公開鍵と秘密鍵を作成
デフォルトでは[~/.ssh/id_rsa]という名前で作成されますが、私はすでにサーバ接続にid_rsaをつかっているため、別のファイル[~/.ssh/id_rsa_github]として作成します。
bash-3.2$ cd ~/.ssh
# 公開鍵と秘密鍵を作成します。
bash-3.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxxx/.ssh/id_rsa): id_rsa_github ←鍵の名前
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
#秘密鍵(id_rsa_github)と公開鍵(id_rsa_github.pub)が作成されていることを確認します。
bash-3.2$ ls -l
-rw------- 1 xxxxx staff 1831 2 7 08:20 id_rsa_github
-rw-r--r-- 1 xxxxx staff 408 2 7 08:20 id_rsa_github.pub
2.Githubへ公開鍵を登録
githubへログオン後、[Settings]から[SSH and GPG keys]を選択して、[New SSH Key]をクリックします。
TitleとKeyを登録します。Keyは id_rsa_github.pub の内容をコピペして登録します。
bash-3.2$ cat id_rsa_github.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCegvJ/8hRer41
1ELIcteCATNNUNaoq/24cNsRaWp0x97I/z+rxWa9Zz+os35vKsk/
」d08BGqLikY/mGrR5LUTEiepAy1gFmC78zhIbprSipQjJksDxPAmpcV
qwrbR/eN3Sc8mR/URrbwFMUz+bMrnIbp9L8LQkWMzI5BSjzDg0e3F
(省略)
正しく登録されたことを確認します。
3.Githubへ接続する秘密鍵を指定する設定+ssh接続
最後にPC側からsshで接続してみます。ですが、その前にGithubへ接続する際に使う秘密鍵をしているするにように設定します。[~/.ssh/config]ファイルに追加、もしくは新規で接続します。
bash-3.2$ vi ~/.ssh/config
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_github
User git
最後にsshで接続してみます。こんな感じで「Hi 〇〇〇!」と表示されたら成功です。
bash-3.2$ ssh -T github.com
Warning: Permanently added the RSA host key for IP address 'xxx.xxx.xxx' to the list of known hosts.
Hi gogoloon! You've successfully authenticated, but GitHub does not provide shell access.
おまけ:LaravelプロジェクトをGithubへアップしてみる
最後にGithub上に作成したプロジェクトに対して、Laravelプロジェクトをアップしてみます。
これから作成する掲示板のアプリです。
- リモート(Github)側プロジェクト名:lara-board
- PC側Laravelフォルダのパス:/Users/xxxxxx/Docker/Laravel/html/board
はじめにGitで接続する際の設定します。[url “github:”]より下を追加してください。Gitリポジトリへの接続はGIT、SSHまたはHTTPSで接続できるのですが、この設定を追加することでリRemote URLの指定が https: や git: を使っていてもSSHに自動的に変換して接続してくれます。
bash-3.2$ vi ~/.gitconfig
[user]
name = gogolon
email = gogolonsyachiku@gmail.com
[url "git@github.com:"]
InsteadOf = git://github.com/
InsteadOf = https://github.com/
次に実際にGitlabリポジトリへアップしてみます。
PC側のフォルダへ移動して、Gitを初期化してRemoteリポジトリを設定、コミットしてマスタブランチとしてアップします。
bash-3.2$ cd /Users/xxxxxx/Docker/Laravel/html/board
bash-3.2$ git init
bash-3.2$ git add .
bash-3.2$ git commit -m "first commit"
bash-3.2$ git remote add origin https://github.com/gogoloon/lara-board.git
bash-3.2$ git push -u origin master
これでGithub側のリポジトリへデータがアップされているはずです!
メモ:リモートリポジトリを確認、変更する方法
# Remoteリポジトリの設定確認
bash-3.2$ git config remote.origin.url
301 Moved Permanently
# 変更したい場合
bash-3.2$ git remote set-url origin git@github.com:gogoloon/lara-board.git
以上になります。
コメント