🏹
Gitコマンド入門::Gitカスタマイズ機能(config,SSH keys)第七十八回
みなさんこんにちは! 前回は、最後、ヌヌヌ・・・(^▽^;) で終わってしまいましたけど、なんだと思いますか? というかタイトルに答えは書いてありますね。そうそう、GitHubでは、HTTPS以外に、SSH接続もできるんですよね~
今回も、こちらのドキュメントの続きですが、今回は、GitHubのSSH Keyの設定、更に寄り道していま~す!
7.4 Git のさまざまなツール - 作業内容への署名
GitHub に SSH で接続する/git本家のドキュメント
本家サイトのドキュメント冒頭!
SSH について
SSH プロトコルを利用すれば、リモートのサーバーやサービスに接続し、認証を受けられます。 SSH キーを使用すると、アクセスのたびにユーザ名と個人アクセストークンを入力することなく GitHub に接続できます。
前回の記事はこちらから!
git本家のドキュメントメニューはこちら!
GPGの設定時、ちらちらっと気になっていました!
本家サイトのドキュメントも分かりやすい!
私の環境では、Linux を選択! その他 Mac,Windows も、しっかり用意してありますね!
ls -al ~/.ssh
で、既存のSSHキーの存在確認!
$ ls -al ~/.ssh
合計 8
drwx------ 2 test test 28 1月 17 09:09 .
drwx------ 8 test test 4096 4月 8 10:30 ..
-rw------- 1 test test 408 1月 17 09:09 authorized_keys
ssh-keygen -t ed25519 -C "your_email@example.com"
$ ssh-keygen -t ed25519 -C "shiozumi@e-smile.ne.jp"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/test/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/test/.ssh/id_ed25519.
Your public key has been saved in /home/test/.ssh/id_ed25519.pub.
The key fingerprint is:
9c:ad:06:f8:cf:71:a6:08:f5:6c:3b:6a:3c:2d:f7:48 shiozumi@e-smile.ne.jp
The key's randomart image is:
+--[ED25519 256--+
| |
| |
| |
| . . o |
| . o S . |
| o + . |
| ....E o |
| .=B+B |
| .o=*o. |
+-----------------+
$ ls -al ~/.ssh
合計 16
drwx------ 2 test test 66 4月 9 11:23 .
drwx------ 8 test test 4096 4月 8 10:30 ..
-rw------- 1 test test 408 1月 17 09:09 authorized_keys
-rw------- 1 test test 464 4月 9 11:23 id_ed25519
-rw-r--r-- 1 test test 104 4月 9 11:23 id_ed25519.pub
- パスフレーズは、とりいそぎ、GitHubと共通にして置きました!
- id_ed25519 ・・・秘密鍵が作成。
- id_ed25519.pub ・・・公開鍵が作成。
SSH 秘密鍵を ssh-agent に追加する
こちらは、パスフレーズを安全に保存してくれます。これで、パスフレーズを毎回聞かれることがなくなるようです。こちらもとりあえず、GitHubサイトのドキュメントを、まずは鵜呑みして実行して行きます!
$ eval `ssh-agent -s`
> Agent pid 59566
$ ssh-add ~/.ssh/id_ed25519
// ↑↑↑ 秘密鍵を追加!
SSH 公開鍵を GitHub アカウントに追加します。
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE ~省略~ shiozumi@e-smile.ne.jp
公開鍵を出力し、画面からコピペして、GitHubの、SSH Key に登録します!
shiozumi@e-smile.ne.jp
ssh-ed25519 ~省略~タイトルは、test で、仮登録してみました!
ssh -T git@github.com
接続テスト $ ssh -T git@github.com
The authenticity of host 'github.com (52.192.72.89)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.192.72.89' (RSA) to the list of known hosts.
Hi shiozumi-makoto! You've successfully authenticated, but GitHub does not provide shell access.
- yes/no を聞かれますので、まずは、yes と入力
- Warning: Permanently added が表示されますので、次の設定をしてください。
vi ~/.ssh/config
コンフィグファイルを作成
$ cat ~/.ssh/config
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_ed25519
User git
$ chmod 644 ~/.ssh/config
- IdentityFile の後に、秘密鍵のファイル名を設定します。
- アクセス権も、644 に再設定!
ssh -T git@github.com
再度接続テスト $ ssh -T git@github.com
Hi shiozumi-makoto! You've successfully authenticated, but GitHub does not provide shell access.
では、最後に実際にpushしてみましょう!
以下は、リポジトリを新しく作成したときに出力される、いつもの初期化コマンド一式です。
echo "# 20210409" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:shiozumi-makoto/20210409.git
git push -u origin main
git remote add origin のアドレスは変わりました!
ここは、SSHを選択してください。SSHをクリックするだけで、スクリプトコマンドの内容もしっかり変わります。便利ですね。(⌒∇⌒)
git push
IDもパスワードも無しでOK!
まとめ さあ~、みなさんも無事、SSH接続で、リポジトリをpushできましたか? 私もすべての環境で試していないので、なんとも言えませんけど、是非、SSH接続で開発効率を上げて行きましょう。こういった環境設定は、またまた、毎度の後悔文章で申しわけありませんが、最初にやるべきことでしたね~(^▽^;)
それでは、今回はここまで、お疲れ様でした!
Discussion