8cc4440bbaeeddbb0fc8f5b92cc4c976b6c004cf
git/\346\211\213\345\205\203\343\201\256ssh\351\215\265\343\202\222\344\275\277\343\201\243\343\201\246\343\200\201\344\273\226\343\201\256\343\203\236\343\202\267\343\203\263\343\201\213\343\202\211GitHub\343\201\270\343\202\242\343\202\257\343\202\273\343\202\271\343\201\231\343\202\213.md
| ... | ... | @@ -0,0 +1,37 @@ |
| 1 | +参考: [ssh-agentを利用して、安全にSSH認証を行う](https://zenn.dev/naoki_mochizuki/articles/ce381be617cd312ffe7f) |
|
| 2 | + |
|
| 3 | +## 想定する状況 |
|
| 4 | +手元のマシン(例えば、Macbook)のssh鍵は、既にGtHubの自身のアカウントへ登録してある。サーバにて、GitHubからプライベートリポジトリを`git clone`したい。しかし、サーバ上では鍵を生成したくない。 |
|
| 5 | + |
|
| 6 | +## 方針 |
|
| 7 | +手元のマシンのSSH鍵を`ssh-agent`を用いてサーバへ転送する。サーバでは転送された`ssh-agent`を用いてGitHubへアクセスする。 |
|
| 8 | + |
|
| 9 | +## 方法 |
|
| 10 | +手元のマシンをMacbook、GitHubにアクセスしたいサーバのホスト名をserver.example.comとする。 |
|
| 11 | + |
|
| 12 | +1. Macbook: ssh-agentを起動する |
|
| 13 | +```bash |
|
| 14 | +$ eval `ssh-agent` |
|
| 15 | +``` |
|
| 16 | + |
|
| 17 | +1. Macbook: ssh-agentに鍵を登録する |
|
| 18 | +``` |
|
| 19 | +$ ssh-add |
|
| 20 | +``` |
|
| 21 | + |
|
| 22 | +1. Macbook: ssh-agentの接続を転送する |
|
| 23 | +``` |
|
| 24 | +$ ssh -A server.example.com |
|
| 25 | +``` |
|
| 26 | + |
|
| 27 | +1. この時点で既にサーバからsshを用いてGitHubにアクセスできるようになっている。sshによるGitHubへのアクセスをテストしてみる。 |
|
| 28 | +参考: [SSH 接続をテストする](https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection) |
|
| 29 | +サーバ: GitHubへの接続をテストする |
|
| 30 | +``` |
|
| 31 | +$ ssh -T [email protected] |
|
| 32 | +``` |
|
| 33 | + |
|
| 34 | +1. サーバ: GitHubからレポジトリをクローンする |
|
| 35 | +``` |
|
| 36 | +$ git clone ... |
|
| 37 | +``` |
|
| ... | ... | \ No newline at end of file |