参考: 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の接続を転送する
$ ssh -A server.example.com -
この時点で既にサーバからsshを用いてGitHubにアクセスできるようになっている。sshによるGitHubへのアクセスをテストしてみる。
参考: SSH 接続をテストする
サーバ: GitHubへの接続をテストする$ ssh -T [email protected] -
サーバ: GitHubからレポジトリをクローンする
$ git clone ...