cap deploy が失敗する原因がcd:cd:2: permission denied: だった

cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as ubuntu@x.x.x.x

他の人のPCでステージング環境にデプロイしようとしたら、エラーが出るということがありました。

原因は秘密鍵のあるディレクトリのパーミッションでした。

.sshディレクトリのパーミッションが600になっており、 cd ~/.ssh がパーミッションエラー(cd:cd:2: permission denied) になっていたのです。

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*. でデプロイができるようになりました。

chmod u=rX,g=,w= でも同じことが可能です。

蛇足ですがssh -i key host ... 自体がうまくいかない時は、

ssh -vvv {hostname} で詳細なデバッグログの出力が可能です。