title: Capistrano Deploy -- Net::SSH::AuthenticationFailed -- AWS EC2
body: <p>Why am I getting authenicationFailed when I try to run deploy setup?  I am using the ssh as my password. Do I need to change anything in the database.yml or deploy.rb. They are listed below.</p>
  
  <pre><code>$ cap deploy:setup
    * executing `deploy:setup'
    * executing "sudo -p 'sudo password: ' mkdir -p /var/www/apps/sample_app /var/www/apps/sample_app
   /releases /var/www/apps/sample_app/shared /var/www/apps/sample_app/shared/system /var/www     
  /apps/sample_app/shared/log /var/www/apps/sample_app/shared/pids"
      servers: ["ec2-20-21-42-51.compute-1.amazonaws.com"]
  Password: 
  connection failed for: ec2-20-21-42-51.compute-1.amazonaws.com 
  (Net::SSH::AuthenticationFailed: ubuntu)
  </code></pre>
  
  <p>deploy.rb</p>
  
  <pre><code># The name of your app
  set :application, "sample_app"
  
  # The directory on the EC2 node that will be deployed to
  set :deploy_to, "/var/www/apps/#{application}"
  
  set :keep_releases, 3
  
  # deploy with git
  set :scm, :git
  set :repository,  "git@github.com:username/sample_app.git"
  set :git_shallow_clone, 1
  set :branch, "master"
  set :use_sudo, true
  
  set :user, "ubuntu"
  ssh_options[:forward_agent] = true
  default_run_options[:pty] = true
  
  # The address of the remote host on EC2 (the Public DNS address)
  set :location, "ec2-20-21-42-51.compute-1.amazonaws.com"
  
  # setup some Capistrano roles
  role :app, location
  role :web, location
  role :db,  location, :primary =&gt; true
  
  after 'deploy:update_code', 'deploy:symlink_db'
  
  
  namespace :deploy do
  
  desc "Restart Application"
  task :restart, :roles =&gt; :app do
  run "touch #{deploy_to}/#{shared_dir}/tmp/restart.txt"
  end
  
  desc "Symlinks the database.yml"
  task :symlink_db, :roles =&gt; :app do
  run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
  end
  
  end
  </code></pre>
  
  <p>database.yml</p>
  
  <pre><code>development:
    adapter: mysql2
    database: db/development.mysql2
    pool: 5
    timeout: 5000
    database: sample_app
    username: root
    socket: /tmp/mysql.sock
  
  test:
    adapter: mysql2
    database: db/test.mysql2
    pool: 5
    timeout: 5000
    database: sample_app
    username: root
    socket: /tmp/mysql.sock
  
  production:
    adapter: mysql2
    database: db/production.mysql2
    pool: 5
    timeout: 5000
    database: sample_app
    username: ubuntu
    socket: /var/run/mysqld/mysqld.sock
  </code></pre>