Windows10 github ssh 設定

Introduce | 導入

ギットハブの初期設定および、sshを使った管理方法の解説を行います。

このチュートリアルはアカウント登録した後の初期設定の解説となります。

今回使った端末を記載しておきます。同じ端末を使う事で再現性が高まるかもしれません。

Tools for USE | 使った道具

Global

Microsoft Surface Laptop 3 – 13.5

New Microsoft Surface Laptop 3 – 15

NEW Microsoft Surface Pro X – 13

日本

マイクロソフト Surface Laptop 3 13.5インチ

マイクロソフト Surface Laptop 3 15インチ

マイクロソフト Surface Pro X

Git settings|ギットハブの設定

ここからギットハブの設定を行います。

ギットハブにアクセスしてログイン

https://github.com/

もしもギットハブのアカウントを持っていない人は作成してくれたら大変嬉しく存じます(しろとは言っていない

アカウントを作成し、ログインしたら

右上のアイコンをクリック

https://github.com/settings/profile

セッティング をクリック

https://github.com/settings/keys

SSH and GPG keys をクリック

New SSH key をクリック

ここまで進んだらこの状態をキープしたままウインドウズの設定を行います。

Install VScode|Install VScode をインストール

インターネットブラウザを開いてURLをコピペしてzipファイルをダウンロード

Visual studio code zip download

ダウンロードしたzipファイルを解凍

解凍したファイルの中の Code.exe をダブルクリックして実行

ターミナル をクリック

ニューターミナル をクリック

パワーシェルである事を確認

パワーシェルに choco install git と入力してエンター

Do you want to run~ と出るので y と入力してエンター

インストールが終わったら パワーシェル をクリック

Select Default Shell をクリック

Git Bash をクリック

VSコードを閉じてもう一度開きます。

VSコード のターミナルが ギットバッシュに変更されました。

ここからSSHキーを作成します。

ssh-keygenコマンドで暗号化キーを生成

Githubでは Secure Shell(セキュアシェル、SSH)を使ってファイル管理を行います。それに伴い暗号化キーの作成を行います。

Create random keyword (optional)|ランダムキーワードを作成 (任意)

ランダムキーワードを出力してそれを暗号化キーとして使うとセキュリティを強固に出来ます。パスワードを何にするか迷ったらこれが便利です。

バッシュにて

cat /dev/urandom | tr -dc 'a-zA-Z0-9!@#$%^&*()_+?><~\;' | fold -w 16 | head -n 1

Explanation|解説

32文字の小文字と数字の組み合わせのコードを出力

cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1

20文字の小文字と大文字、数字の組み合わせのコードを出力

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -n 1

16文字の小文字と大文字、数字、記号の組み合わせのコードを出力

cat /dev/urandom | tr -dc 'a-zA-Z0-9!@#$%^&*()_+?><~\;' | fold -w 16 | head -n 1

/SU7Ilh4xM8bav27 とか出てきます。Passphraseに困ったら上記方法でPassphraseを出力すれば楽です。passwordsは必ずメモしておいてください。

Check if .ssh folder exists|.ssh フォルダが存在するか確認

cd

cd だけで [Enter] を押す事でドキュメントルートに戻ります。

cd .ssh

cd .ssh と入力して実行

bash: cd: .ssh: no such file or directory と帰ってきたらあなたのPCにファイルが存在しませんので

mkdir .ssh と入力してエンター

cd .ssh と入力してエンター

ed25519方式を使った 暗号化キーの作成

ed25519暗号化キーとは

暗号化キーを作成すると、作成した暗号化キーを手に入れ無い限り、論理的には外部の人間がクラッキングやハッキングする事を不可能にする方法です。

Googleで出てくる検索上位の sshを使った暗号化方式では rsa方式 を使ったチュートリアルしか存在しないのですが、ed25519暗号化キーとはの方がより合理的です。にもかかわらず、出てくるチュートリアルの内容がほぼ全て rsa 方式での解説しかヒットしませんでした。

知識の最適化、合理化の観点から非常に非合理的です。日本語のGoogle検索結果を盲目的に信じてはいけない(戒め

rsa方式でも暗号の強度は高いので外側からCrackされるような事は現状は殆どありません(量子コンピューターが普及し始めたら別Deathが‥)

タイプ

ssh-keygen -t ed25519 -C github -b 4096

Generating public/private ed25519 key pair. Enter file in which to save the key (/home//.ssh/id_ed25519):

と出ますので

タイプ

id_ed25519_github

githubの暗号化keyだと分かる用に名前の最後に _githubを組み込み id_ed25519_github id_ed25519_github.pub という名前で作成

Enter passphrase (empty for no passphrase):

Githubにsshで接続する為のPasswordsを入力

Enter same passphrase again:

Githubにsshで接続する為のPasswordsをもう一度入力

Your identification has been saved in id_ed25519_github.
Your public key has been saved in id_ed25519_github.pub.
The key fingerprint is:
SHA256:y21F/V6levwIbF5SSoOWyzUasJ6j+3qTSGlFgAejdYs github
The key's randomart image is:
+--[ED25519 256]--+
|    +oo.         |
|   o.+...    .   |
|  . E....   . . .|
|        .o +   o.|
|       oS = * o o|
|      +o * O B ..|
|     o .*.* B + .|
|      ..+o o = o |
|      +=..  . . .|
+----[SHA256]-----+

と出力されたら成功。

最後に書かれているAA(アスキーアート)は何かと言うともし他の人が暗号化キーを変更した場合この図(AA)が変化して変更に気付きやすくする為の機能です。

タイプ

ls

id_ed25519_github id_ed25519_github.pub

と出力されていたら成功です。

.pub拡張子がついている公開鍵は、GitHubなど、SSHで接続したい先のサービスに登録しておくものです。SSH通信をする際に、手元の秘密鍵と通信先に登録してある公開鍵が照合されて認証が成功します。これにより、秘密鍵を持っている自分のみが通信を許可される仕組みです。

cat id_ed25519_github.pub

暗号化キーを出力

ssh-ed25519 AAAAAAAAAAAA1JIoEFCNT7h/07Nza8xHy8jloKg621lZDI1Q7TmerS5tE5IMgkDLVdSB github

出力されたコードの ssh ~ github までをコピー

ギットハブSSH pass 設定|Git hub SSH pass setting key

先ほど保留しておいたギットハブのサイトに戻ります

Detailed explanation of ssh-keygen|ssh-keygen の細かい解説

-t|暗号化方式を指定 -t ed25519 で ed25519暗号化方式 -t rsa で rsa方式を指定

-C|コメントを入力 -C this_is_githubssh!!!などとコメントしておく事で分かりやすくします

-b|暗号化キーの長さを指定。デフォルトは 2048-b 4096 等と指定しておくとクラックされ難くなります

-N|パスワードを指定

ssh encryption key sample|ssh暗号化キーのサンプル

ssh-keygen -t ed25519 -C github -f /home/user/.ssh/id_ed25519_github -N passwordsdayo! -b 4096

↑のサンプルでは

-t ed25519 で ed25519暗号化方式を選択 -C github で github とコメント -f /home/user/.ssh/id_ed25519_github/home/user/.ssh/階層に id_ed25519_github と言うファイルネームで出力 -N passwordsdayo! で passwords を passwordsdayo! と指定 -b 4096 で暗号の長さを 4096bitの長さを指定

上記ショートカットさえ覚えておけば普段使うには問題無いかと思います。

Register the created id_ed25519_github.pub on Github|作った id_ed25519_github.pub をGithubに登録

先ほど保留しておいたギットハブのサイトに戻ります

キーに先ほどコピーしておいたパスフレーズをペースト

Title win-ssh-github Key <cat id_ed25519_github.pub で出力したあなたのコード>

タイトルはわかりやすい名前を入力 local-ssh-github あたりが無難かと思います。

Edit SSH config file|SSHのconfigファイルを編集

GitHubへSSH接続する際に、どの秘密鍵を指定するのかを管理するのが目的。例えば VPSへ接続する用途等で以前に ed25519暗号化Keyを作成していた場合、ファイルの既存のファイルにアクセスできない現象が発生します。なので.ssh内部に configファイルを作成して ssh接続の管理をします

nano ~/.ssh/config

コードを入力してエンター

エディタに無難なnanoを使っていますが使いやすい好きなエディタでも問題ありません

Host git
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github

表示されているコードを書きます

書き込み終わったら Ctrl + s でセーブ

Ctrl + x で nano を終了

書き込みが成功しているか確認するには cat ~/.ssh/config

Supplement|補足

Host git にて命令を実行する文字列を指定します。上記内容だと ssh git を実行する事で下記命令文を実行します。

Host tadokorokoji

にすると ssh tadokorokoji で下記命令文を実行します。

HostName github.com

ここは github.com で固定です。HostNameを指定しています。

User git

ここも User git で固定です。

IdentityFile `~/.ssh/id_ed25519_github`

これは秘密鍵を指定しています。上記内容では .ssh階層にあるid_ed25519_githubを指定しています。

ssh git で接続

ssh git と入力してエンター

The authenticity of host 'github.com (55.69.188.66)' can't be established.
RSA key fingerprint is SHA256:nThdCARLviKw6E5SY8XUpJbg6kGOCsl7E1IpRomTxWG.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes と入力してエンター

Warning: Permanently added 'github.com,11.22.114.69' (RSA) to the list of known hosts. Enter passphrase for key '/home/user/.ssh/id_ed25519_github':

id_ed25519_githubを作った時設定したパスワードを入力

PTY allocation request failed on channel 0 Hi ! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.

と出たら性交

Tools for USE | 使った道具

Global

Microsoft Surface Laptop 3 – 13.5

New Microsoft Surface Laptop 3 – 15

NEW Microsoft Surface Pro X – 13

日本

マイクロソフト Surface Laptop 3 13.5インチ

マイクロソフト Surface Laptop 3 15インチ

マイクロソフト Surface Pro X

Thank you I'm glad if you can use it as a reference. Thank you for watching until the end. お疲れさまでした。参考になれば幸いです。最後までご覧頂きありがとうございました。

Windows 10 Settings | ウインドウズ10 設定

windows10 初期アプリ アンインストール

Windows 10 hosts プライバシー設定

Windows 10 プライバシーとセキュリティ設定

Windows10 インプット設定

Windows10 コルタナ無効化 設定

Windows10 拡張子表示、隠しファイル表示 初期設定

Windows python インストール

thank you

最後までご覧いただきありがとうございました。参考になれば幸いです

寄付のお願い

これからも、お役に立てる情報を更新します。宜しければご寄付をよろしくおねがいします。寄付をいただけましたら飛び跳ねて喜びます。