GitHub で SSH認証カギを設定する手順を記載します。
Git を使うために、必ずしも必要というわけではないのですが、SSH認証カギを生成・登録して使用すると良い場合が多々あります。
GitHub で SSH認証カギを使用するための手順などを記載します。
OS: | (1) WSL/Ubuntu, | 20.04 |
(2) VirtualBox/Ubuntu, | 20.04 | |
ベースOS : | Windows10 home, | Version 2003 |
https://github.com/ にアクセスしてアカウントを作ってください。
詳細は割愛します。
SSH認証鍵はホームフォルダ下の ".ssh" フォルダに作成されます。
下記コマンドで .ssh
フォルダおよびフォルダ内のファイルを確認することで、既に登録されているSSH認証鍵の状態を確認できます。
$ ls ~/.ssh
複数のSSH認証鍵を登録することを想定して、GitHub専用フォルダに鍵を登録する手順として記載します。
下記手順でSSH認証鍵をホーム配下の .ssh/github フォルダ内に生成します。
$ mkdir ~/.ssh
$ cd ~/.ssh
$ mkdir github
$ cd github
$ ssh-keygen -t rsa -C hoge@foo.com <--- "hoge@foo.com" は自分のメールアドレス
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hidetoshi/.ssh/id_rsa):/home/hidetoshi/.ssh/github/id_rsa
<----- "github"フォルダへ修正してEnter
Enter passphrase (empty for no passphrase): <-----Enterを押す
Enter same passphrase again: <-----Enterを押す
Your identification has been saved in /home/hidetoshi/.ssh/github/id_rsa.
Your public key has been saved in /home/hidetoshi/.ssh/github/id_rsa.pub.
The key fingerprint is:
0f:19:40:a4:36:b4:89:42:b0:e2:f4:b2:5b:ce:85:39 mail@mail
The key's randomart image is:
+--[ RSA 2048]----+
| o . . o + |
|. . o + . |
|+.. * . |
| + . .. . o |
| o . S |
| o o o |
| . E . . |
| = o |
| . o |
+-----------------+
$
これで公開鍵と秘密鍵が作成できました。
config ファイルに設定を書いていきます。無ければ以下のコマンドで作ることができます。
$ vi ~/.ssh/config
config ファイルに以下の情報を書き込みます。
["config"]
Host github.com HostName github.com IdentityFile ~/.ssh/github/id_rsa User git Port 22 TCPKeepAlive yes IdentitiesOnly yes
["config" (port 443 環境)]
ポート番号 22 を遮断している環境で 443 を使える場合、こちらの設定を使用してみてください。
Host github.com HostName ssh.github.com IdentityFile ~/.ssh/github/id_rsa User git Port 443 TCPKeepAlive yes IdentitiesOnly yes
["config" プロキシ環境下]
proxy 環境下ではこちらのサンプルを参照ください。"ProxyCommand" の行を追加しています。
Host github.com
HostName github.com
IdentityFile ~/.ssh/github/id_rsa
User git
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
ProxyCommand /usr/bin/corkscrew proxy.hoge.co.jp 8080 %h %p
NOTE
私の環境では corkscrew がインストールされていなかったので、
sudo apt install corkscrew
でインストールしました。
config 設定は以上です。
GitHub にアクセス後、右上のユーザーアイコンを選択すると「Settings」が見えるのでこれをクリックします。
そして画面左側のメニューから "SSH and GPG keys" をクリックします。
そして "New SSH key" をクリックします。
するとこんな画面を表示します。
続いて、以下のコマンドで公開鍵を表示し、「ssh-rsa ~ 自分のメールアドレス」をコピーします。
$ cat ~/.ssh/github/id_rsa.pub
ssh-rsa
**************************************************************************
**************************************************************************
mail@mail
"Key" の欄にコピーした公開鍵を張り付けます。
"Title" は自分がどの公開鍵かわかる名称を付けます。私は端末名を記入してみました。
複数の端末を持つ場合も共通の鍵を使用するのではなくそれぞれ異なる鍵を生成して使用するほうが良いと思います。
「Add SSH key」ボタンをクリックしたら設定は以上で完了です。
"ssh -T" コマンドで接続できるかを確認します。
以下のように表示されればOKです。
$ ssh -T git@github.com
Hi hidetoshi-kinoshita! You've successfully authenticated, but GitHub does not provide shell access.
$
リモートで作成済みのリポジトリを clone してみることで最後の動作確認としてみます。
コマンドは下記の通り先頭を "git@github.com:" とします。
$ git clone git@github.com:<ユーザ名>/<リポジトリ名>.git
Git を使うために、必ずしも必要というわけではないのですが、SSH認証カギを生成・登録して使用すると良い場合が多々あります。
GitHub で SSH認証カギを使用するための手順などを記載します。
OS : | Windows10 home, | Version 2003 |
https://github.com/ にアクセスしてアカウントを作ってください。
詳細は割愛します。
SSH認証鍵はホームフォルダ下の ".ssh" フォルダに作成されます。
下記コマンドで .ssh
フォルダおよびフォルダ内のファイルを確認することで、既に登録されているSSH認証鍵の状態を確認できます。
> dir %homedrive%%homepath%\.ssh
複数のSSH認証鍵を登録することを想定して、GitHub専用フォルダに鍵を登録する手順として記載します。
下記手順でSSH認証鍵をホーム配下の .ssh/github フォルダ内に生成します。
> %homedrive% > cd %homepath% > mkdir .ssh > cd .ssh > mkdir github > cd github > ssh-keygen -t rsa -C hoge@foo.com <--- "hoge@foo.com" は自分のメールアドレス Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\ユーザ名/.ssh/id_rsa): c:\users\ユーザ名/.ssh/github/id_rsa <----- "github"フォルダへ修正してEnter Enter passphrase (empty for no passphrase): <-----Enterを押す Enter same passphrase again: <-----Enterを押す Your identification has been saved in c:\Users\ユーザ名/.ssh/github/id_rsa. Your public key has been saved in c:\Users\ユーザ名/.ssh/github/id_rsa.pub. The key fingerprint is: SHA256:sxNXQxxEEMuuB+zYuX95RVRKkpe4zn3zRbDe/88z+nQ hoge@foo.com The key's randomart image is: +---[RSA 2048]----+ | o**+..o| | . o+o+..| | o oo.+ | | . . .... o| | S oo o + | | + O o o.=| | . B . . +E| | + o o++| | .... oo.O| +----[SHA256]-----+ C:\Users\ユーザ名\.ssh\github>
これで公開鍵と秘密鍵が作成できました。
config ファイルに設定を書いていきます。無ければ以下のコマンドで作ることができます。
> notepad %homedrive%%homepath%\.ssh\config
config ファイルに以下の情報を書き込みます。
["config"]
Host github.com HostName github.com IdentityFile C:\Users\[ユーザ名]\.ssh\github\id_rsa User git Port 22 TCPKeepAlive yes IdentitiesOnly yes
["config" (port 443 環境)]
ポート番号 22 を遮断している環境で 443 を使える場合、こちらの設定を使用してみてください。
Host github.com HostName ssh.github.com IdentityFile C:\Users\[ユーザ名]\.ssh\github\id_rsa User git Port 443 TCPKeepAlive yes IdentitiesOnly yes
["config" (プロキシ環境)]
proxy 環境下ではこちらのサンプルを参照ください。
”ProxyCommand” の行を追加しています。
Host github.com
HostName github.com
IdentityFile C:\Users\[ユーザ名]\.ssh\github\id_rsa
User git
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -H http://proxy.hoge.co.jp:8080 %h %p
config の設定は以上です。
GitHub にアクセス後、右上のユーザーアイコンを選択すると「Settings」が見えるのでこれをクリックします。
そして画面左側のメニューから "SSH and GPG keys" をクリックします。
そして "New SSH key" をクリックします。
するとこんな画面を表示します。
以下のコマンドで公開鍵を表示し、「ssh-rsa ~ 自分のメールアドレス」をコピーします。
> type %homedrive%%homepath%\.ssh\github\id.rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1r2MfRiv4TGt+jTD96PLTRkYb1nn4mul2Rr 1o8a5iQ8blw3fd43c2qZYjVTIIh7N+****uVXnXyWQNeVNT/IPEoaZaaur9SDAojhcA1kUMODK 0KuKDlbddxijWqJzzmEqcrZGNFEKUTVfB/********0ScyGWiJWjIOVUloLqcdy6CEbHSjiLV7 rxFqPhFU/RO0QbqS58zjx********JXudJ+QJcwmUlLoH1k22AEH154Q28hRNriupma8D/VyJ5 2VWWHwtgF+F6jp8G72uhn46aYmQXK3brUIv7vu/k/8lAUUNI32UrPNoxWII6rbs/lU+0vs5peh QqVlPcjJd3 hoge@foo.com
"Key" の欄にコピーした公開鍵を張り付けます。
"Title" は自分がどの公開鍵かわかる名称を付けます。私は端末名を記入してみました。
複数の端末を持つ場合も共通の鍵を使用するのではなくそれぞれ異なる鍵を生成して使用するほうが良いと思います。
「Add SSH key」ボタンをクリックしたら設定は以上で完了です。
"ssh -T" コマンドで接続できるかを確認します。
以下のように表示されればOKです。
$ ssh -T git@github.com
Hi hidetoshi-kinoshita! You've successfully authenticated, but GitHub does not provide shell access.
$
リモートで作成済みのリポジトリを clone してみることで最後の動作確認としてみます。
コマンドは下記の通り先頭を "git@github.com:" とします。
$ git clone git@github.com:<ユーザ名>/<リポジトリ名>.git
本ページの情報は、特記無い限り下記 MIT ライセンスで提供されます。
2022-11-07 | - | 新規作成 |