参考: ssh-agentを利用して、安全にSSH認証を行う
想定する状況
手元のマシン(例えば、Macbook)のssh鍵は、既にGtHubの自身のアカウントへ登録してある。サーバにて、GitHubからプライベートリポジトリをgit clone
したい。しかし、サーバ上では鍵を生成したくない。
方針
手元のマシンのSSH鍵をssh-agent
を用いてサーバへ転送する。サーバでは転送されたssh-agent
を用いてGitHubへアクセスする。
方法
手元のマシンをMacbook、GitHubにアクセスしたいサーバのホスト名をserver.example.comとする。
-
Macbook: ssh-agentを起動する。
$ eval `ssh-agent`
-
Macbook: ssh-agentに鍵を登録する。
$ ssh-add
-
Macbook: ssh-agentの接続を転送する。例えば、GitHubにアクセスしたいマシンのホスト名が
server.example.com
であるなら、$ ssh -A server.example.com
-
この時点で既にサーバからsshを用いてGitHubにアクセスできるようになっている。sshによるGitHubへのアクセスをテストしてみる。
参考: SSH 接続をテストする
サーバ: GitHubへの接続をテストする$ ssh -T [email protected]
-
サーバ: GitHubからレポジトリをクローンする
$ git clone ...