这是我第一次使用Capistrano,我在部署开始时收到服务器身份验证错误:设置阶段。我是一个在Mac上使用rvm的PHP用户。
我注意到我的deploy.rb文件不包含我服务器的密码。它只包含我的私人git仓库的密码。是否有可用于设置服务器密码的属性,以便我的连接可以进行身份验证?
deploy.rb文件列出服务器凭据吗?
答案 0 :(得分:1)
我想推荐你related discussion。以防万一:最好为您的服务器设置publickey身份验证,这样可以避免您以明文形式存储凭据,而且开始时更安全。
如果您使用github进行git托管,您也可以在那里使用您的公钥。在部署时,请务必使用ssh_options[:forward_agent] = true
将您的公钥转发到服务器。
如果你真的想设置你的用户名和密码,我相信你可以这样做:
set :user, "sshuser"
set :password, "sshpassword"
set :scm_passphrase, "gitpassword"
找到更多信息
答案 1 :(得分:0)
之前的答案涵盖了有关部署的良好信息,我同意最好设置公钥。
但如果您有密码问题,请尝试添加以下行:
default_run_options[:pty] = true
到您的deploy.rb文件,因此您允许Capistrano提示输入密码。
答案 2 :(得分:0)
@Amit Erandole(回复[ip_address_omitted](Net :: SSH :: AuthenticationFailed:root),app_name_ommitted(Errno :: ETIMEDOUT:操作超时 - 连接(2)): 看起来在服务器上不允许通过ssh进行root访问(通常不推荐)。请使用有效用户再次尝试,或在sshd_config中启用root访问权限(PermitRootLogin yes)。 但正如HectorMalot已经提到的那样,创建一个ssh-key并忘记密码。 ;)