Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用pem文件与capistrano一起部署_Ruby On Rails_Ssh_Amazon Ec2_Capistrano - Fatal编程技术网

Ruby on rails 使用pem文件与capistrano一起部署

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

我们有一个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] = ["/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如果找不到密钥文件,则不会出现文件未找到错误,因此请仔细检查密钥的路径。