■ はじめに
https://dk521123.hatenablog.com/entry/2019/07/18/234652
の続き。 今回は、Githubにssh接続でクローンできるようにする。 以下のサイトがわかりやすかった。
http://monsat.hatenablog.com/entry/generating-ssh-keys-for-github
Githubへの接続プロトコル
https://qiita.com/chroju/items/67da13c672efcd2bc787
が参考になる。 Github は、「【1】https」を推奨しているが、現場によって、非推奨だったりする。 【A】https(例「https://github.com/XXXXXX/YYYYY.git」) 【B】git 【C】ssh (例「git@github.com:XXXXXX/YYYYY.git」)<< 今回は、これ
■ 設定環境例
OS : Windows10 Git : git version 2.23.0 ★前提条件としてGitがインストールされていること★
■ 設定手順
【1】秘密鍵、共通鍵を作成する 【2】Githubに作成した共通鍵を組み込む 【3】設定ファイルを作成 【4】確認として:git clone を行う
【1】秘密鍵、共通鍵を作成する
https://dk521123.hatenablog.com/entry/37623281
でも行ったが、Windows / Git Bash で行う。 [1-1] 右クリックし、[Git Bash Here]を選択し、Git Bashを起動する [1-2] コマンド「ssh-keygen -t rsa -C "your_email@gmail.com"」を入力し、秘密鍵、共通鍵を作成する + id_rsa ... 秘密鍵 + id_rsa.pub ... 共通鍵 (公開鍵)
コマンド例
ssh-keygen -t rsa -C "your_email@gmail.com" # t "鍵の種類" # -C "コメント文(e-mailを入力)" Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/UserName/.ssh/id_rsa): (鍵ファイルの設定場所。Enterキー押下) Created directory '/c/Users/UserName/.ssh'. Enter passphrase (empty for no passphrase): (パスフレーズ入力) Enter same passphrase again: (同じパスフレーズ再入力)
【2】Githubに作成した共通鍵を組み込む
[2-1] Git Bash で、以下のコマンドを入力し、 共通鍵の内容をクリップボードにコピー ~~~~~ clip < C:/Users/UserName/.ssh/id_rsa.pub ~~~~~ [2-2] Github にブラウザでアクセスし、ログインする
[2-3] 右上のユーザのアイコンを選択し、[Settings]-[SSH And GPG keys]を選択 [2-4] 「New SSH Key」ボタン押下 [2-5] 以下を入力し、「Add SSH Key」ボタン押下 + Title:任意の文字列 + Key : [2-1]でコピーした共通鍵の内容(例:ssh-rsa AAB...)
【3】設定ファイルを作成
不要かもしれないが、「~/.ssh/config」を作成しておく
設定ファイル記述例(c:/Users/UserName/.ssh/config)
Host github HostName github.com IdentityFile c:/Users/UserName/.ssh/id_rsa User github_user_name
【4】確認として:git clone を行う
[4-1] github で対象のページにアクセスする [4-2] 「Clone or Download」ボタン押下 [4-3] 右上の「Use SSH」リンク押下 [4-4] 「git@github.com:XXXXXX/YYYYY.git」をコピーする [4-5] Git Bash の画面で git clone コマンドを入力する ⇒ 最後に「done.」が表示され、Github上のファイル群が存在していることを確認
コマンド例
git clone git@github.com:XXXXXX/YYYYY.git Cloning into 'YYYYY'... The authenticity of host 'github.com (ZZZ.ZZZ.ZZZ.ZZ)' can't be established. RSA key fingerprint is SHA.... Are you sure you want to continue connecting (yes/no/[fingerprint])? (「yes」を入力) Enter passphrase for key '/c/Users/UserName/.ssh/id_rsa': (パスフレーズを設定した場合は、それを入力)
■ おまけ1:Proxy設定
大抵の現場では、Proxyサーバが設置されており、 そのための設定を記す
対処案:設定ファイル「.ssh/config」に設定を追加する
「【3】設定ファイルを作成」で作成した設定ファイルにプロキシサーバに接続する設定を追加する
設定ファイル記述例(c:/Users/UserName/.ssh/config)
Host github HostName github.com IdentityFile c:/Users/UserName/.ssh/id_rsa User github_user_name ProxyCommand connect.exe -H <プロキシサーバのアドレス>:<ポート> %h %p # ★この行を追加★
■ おまけ2:TortoiseGit で接続する
https://dk521123.hatenablog.com/entry/2019/09/27/153937
で取り扱ったGitクライアントソフト「TortoiseGit」でクローンできるように設定する
設定手順
[1] 右クリックし、[TortoiseGit]-[Settings]-[Network] を選択 [2] 「SSH」の「SSH client」欄をGitのssh.exe に変更する ~~~~~ 【デフォルトでインストールした場合】 修正前:C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe 修正後:C:\Program Files\Git\usr\bin\ssh.exe ~~~~~ [3] ファイルを落としたいフォルダ配下で、右クリックし、[Git Clone] を選択 [4] URLに「git@github.com:XXXXXX/YYYYY.git」を入力し、「OK」ボタン押下 ⇒ Github上のファイル群が存在していることを確認
参考文献
http://monsat.hatenablog.com/entry/generating-ssh-keys-for-github
https://qiita.com/godgarden/items/28bc299b35c5c60a5877
https://qiita.com/kawahara_hiroyuki/items/3ad35c548d1007c12109
関連記事
Github ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/07/18/234652
Git クライアントソフト
https://dk521123.hatenablog.com/entry/2019/09/27/153937
SSH公開鍵認証方式
https://dk521123.hatenablog.com/entry/37623281