templates/base/config/rubber/deploy-setup.rb in rubber-2.0.5 vs templates/base/config/rubber/deploy-setup.rb in rubber-2.0.6
- old
+ new
@@ -101,7 +101,19 @@
# add ssh keys for root
if [[ ! -f /root/.ssh/id_dsa ]]; then ssh-keygen -q -t dsa -N '' -f /root/.ssh/id_dsa; fi
ENDSCRIPT
end
+ # Update /etc/sudoers so that SSH-related environment variables so capistrano/rubber tasks can take advantage of ssh-agent forwarding
+ before "rubber:bootstrap", "rubber:base:update_sudoers"
+ task :update_sudoers do
+ rubber.sudo_script "update_sudoers", <<-ENDSCRIPT
+ if [[ ! `grep 'SSH_CLIENT SSH_TTY SSH_CONNECTION SSH_AUTH_SOCK' /etc/sudoers` =~ "SSH_CLIENT SSH_TTY SSH_CONNECTION SSH_AUTH_SOCK" ]]; then
+ echo '' >> /etc/sudoers
+ echo '# whitelist SSH-related environment variables so capistrano tasks can take advantage of ssh-agent forwarding' >> /etc/sudoers
+ echo 'Defaults env_keep += "SSH_CLIENT SSH_TTY SSH_CONNECTION SSH_AUTH_SOCK"' >> /etc/sudoers
+ fi
+ ENDSCRIPT
+ end
+
end
end