LoginSignup
53
57

More than 5 years have passed since last update.

capistrano3でssh agent forwarding

Posted at

capistranoでSSH接続するときにssh agent forwardingが使えます。
書き方は、

production.rb
set :ssh_options, {
  user: 'ec2-user',
  keys: %w{~/.ssh/x.pem ~/.ssh/y.pem},
  forward_agent: true,
  auth_methods: %w{publickey}
}

こんな感じです。

これで何がやれるのかというと、

  • デプロイ対象のサーバーがX
  • デプロイしたいソースのGitリポジトリ(SSH接続)がY

という状況でサーバーXにY.pemを置かずに X->YのSSH接続をすることができます。

上図のように作業端末にX,Yそれぞれの鍵があればいいのです。

ただ、上記のCapistranoのssh設定だけでは使うことができません。
作業端末でssh-add -lを叩いた時に以下のようになっている必要があります。

$ ssh-add -l
2048 f7:07:18:66:97:f0:8f:7b:40:6f:0b:97:98:de:5e:18 /home/newgyu/.ssh/y.pem (RSA)

どうすりゃいいのかというと、予め下記のコマンドを叩いておく必要があります。

$ ssh-add /home/newgyu/.ssh/y.pem
53
57
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
53
57