ssh_options capistrano3 解析失败

ssh_options parsing fails in capistrano3

cap --version
Capistrano Version: 3.3.5 (Rake Version: 10.4.2)

ssh_options不被最新的cap识别

ssh_options[:keys] = ["#{ENV['HOME']}/.ssh/dev.pem"], forward_agent: true

cap --trace development deploy
cap aborted!
NameError: undefined local variable or method `ssh_options' for main:Object

正向代理不被最新上限识别

ssh_options[:keys] = ["#{ENV['HOME']}/.ssh/dev.pem"], forward_agent: true

cap --trace development deploy
cap aborted!
SyntaxError: config/deploy.rb:13: syntax error, unexpected tLABEL
...dev.pem"], forward_agent: true
...                               ^

您的 ssh_options 不是有效的哈希。

应该是这样的:

ssh_options = {keys: ["#{ENV['HOME']}/.ssh/dev.pem"], forward_agent: true}
set :ssh_options, {
    keys: %w(/path/to/key),
    forward_agent: false,
    auth_methods: %w(password)
}