我需要在需要.pem密钥文件进行登录的Amazon服务器中使用flightplan.js部署node.js应用程序。 通常我会像这样登录我的ssh终端:
:~$ ssh -i key_file.pem ubuntu@amazon_server_instance_ip
但现在我需要用飞行计划这样做,我不知道该放在我的目标中通常会是这样:
plan.target('testing', {
host: 'amazon_server_instance_ip',
username: 'username',
password: 'password','
agent: process.env.SSH_AUTH_SOCK,
repository: 'http://github.com/my_user/my_repo.git',
branch: 'master',
maxDeploys: 10
});
答案 0 :(得分:2)
这里有两种解决方案:
在运行脚本之前,使用现有配置并通过key_file.pem
将ssh-add
添加到ssh代理。
将您的配置更改为使用privateKey: '/path/to/key_file.pem'
而不是agent: ....
。
答案 1 :(得分:0)
我做到了,就像这样:
plan.target('testing', {
host: 'amazon_server_instance_ip',
username: 'username',
agent: process.env.SSH_AUTH_SOCK,
repository: 'http://github.com/my_user/my_repo.git',
branch: 'master',
privateKey: '/path/to/private/key.pem',
maxDeploys: 10
});
感谢@mscdex。