参考: ssh-agentを利用して、安全にSSH認証を行う

想定する状況

手元のマシン(例えば、Macbook)のssh鍵は、既にGtHubの自身のアカウントへ登録してある。サーバにて、GitHubからプライベートリポジトリをgit cloneしたい。しかし、サーバ上では鍵を生成したくない。

方針

手元のマシンのSSH鍵をssh-agentを用いてサーバへ転送する。サーバでは転送されたssh-agentを用いてGitHubへアクセスする。

方法

手元のマシンをMacbook、GitHubにアクセスしたいサーバのホスト名をserver.example.comとする。

  1. Macbook: ssh-agentを起動する。

    $ eval `ssh-agent`
  2. Macbook: ssh-agentに鍵を登録する。

    $ ssh-add
  3. Macbook: ssh-agentの接続を転送する。例えば、GitHubにアクセスしたいマシンのホスト名がserver.example.comであるなら、

    $ ssh -A server.example.com
  4. この時点で既にサーバからsshを用いてGitHubにアクセスできるようになっている。sshによるGitHubへのアクセスをテストしてみる。
    参考: SSH 接続をテストする
    サーバ: GitHubへの接続をテストする

    $ ssh -T [email protected]
  5. サーバ: GitHubからレポジトリをクローンする

    $ git clone ...