Search code examples
ruby-on-railssshamazon-ec2capistrano

deploy with capistrano using a pem file


We have a EC2 instance, and our capistrano setup requires ssh. To connect through ssh normally, I use a .pem file for connecting to the server. how do I utilize this .pem file when using capistrano to deploy?


Solution

  • In deploy.rb set these configuration values:

    default_run_options[:pty] = true
    ssh_options[:forward_agent] = true
    ssh_options[:auth_methods] = ["publickey"]
    ssh_options[:keys] = ["/path/to/key.pem"]
    

    For Capistrano 3 use:

    set :pty, true
    set :ssh_options, {
      forward_agent: true,
      auth_methods: %w[publickey],
      keys: %w[/path/to/key.pem]
    }