Ruby on rails 使用pem文件与capistrano一起部署
我们有一个EC2实例,我们的capistrano设置需要ssh。为了正常地通过ssh连接,我使用一个.pem文件连接到服务器。使用capistrano进行部署时,如何利用此.pem文件?在Ruby on rails 使用pem文件与capistrano一起部署,ruby-on-rails,ssh,amazon-ec2,capistrano,Ruby On Rails,Ssh,Amazon Ec2,Capistrano,我们有一个EC2实例,我们的capistrano设置需要ssh。为了正常地通过ssh连接,我使用一个.pem文件连接到服务器。使用capistrano进行部署时,如何利用此.pem文件?在deploy.rb中设置这些配置值: default_run_options[:pty] = true ssh_options[:forward_agent] = true ssh_options[:auth_methods] = ["publickey"] ssh_options[:keys] = ["/pa
deploy.rb
中设置这些配置值:
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
ssh_options[:auth_methods] = ["publickey"]
ssh_options[:keys] = ["/path/to/key.pem"]
对于Capistrano 3,使用:
set :pty, true
set :ssh_options, {
forward_agent: true,
auth_methods: %w[publickey],
keys: %w[/path/to/key.pem]
}
对于capistrano 3,语法有些不同
set :pty, true
set :ssh_options, {
forward_agent: true,
auth_methods: ["publickey"],
keys: ["/path/to/key.pem"]
}
好吧,除了“公钥”以外,我还有其他的。。。所以现在我得到了这个错误:权限被拒绝(公钥)。致命:远程端意外挂起***[deploy:update_code]回滚您在服务器上有公钥吗?有没有办法让Capistran在其输出中不冗长?您必须使用:ssh_options[:auth_methods]=[“publickey”]以避免命名错误:未定义的“publickey”方法“each”:String error如果找不到密钥文件,则不会出现文件未找到错误,因此请仔细检查密钥的路径。