雷克斯和身份文件

时间:2014-11-30 10:56:33

标签: perl ssh openstack fiware rex

我正在尝试使用Rex配置一个fi-ware云实例。这些实例(以及可能是其他基于OpenStack的系统)证明的是“身份文件”,可以用来连接它们的单个私钥。我一直在使用这种变体:

user "root";
private_key "/home/jmerelo/.ssh/jj-iv.pem";
public_key "/home/one/public/key.dsa";
key_auth;


group fiware => "130.206.x.y";

desc "Install git";
task "git", group => "fiware", sub {
   install "git";
};

其中私钥是由fi-ware提供的私钥,公钥是,无论我想到什么,或者什么都没有。 如果未提供公钥,则错误为

[2014-11-30 11:45:45] WARN - Error running task/batch: No public_key file defined. at /home/jmerelo/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/Rex/Task.pm line 621.
 at /home/jmerelo/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/Rex/TaskList/Base.pm line 273.

这显然是真的。但是,如果我尝试其他公钥,错误是:

[2014-11-30 11:48:37] WARN - Error running task/batch: Wrong username/password or wrong key on 130.206.127.211. Or root is not permitted to login over SSH. at /home/jmerelo/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/Rex/TaskList/Base.pm line 273.

使用

ssh -i ~/.ssh/jj-iv.pem root@130.206.x.y

正确连接到实例。所以问题可能是“雷克斯可以使用一个私钥连接到主机吗?”

1 个答案:

答案 0 :(得分:3)

最后,我使用私钥创建了一个公钥,如建议by the documentation

$ sshkey-gen -y -f /path/to/your/private.key >public.key

然后在Rexfile中使用该public.key