2014-11-30 2 views
3

Я пытаюсь настроить экземпляр облака fi-ware с помощью Rex. То, что эти экземпляры (и, вероятно, другие системы на базе OpenStack) доказывают, - это «файл идентификации», один закрытый ключ, который вы можете использовать для подключения к ним. Я использовал вариации этого:Rex и файлы идентификации

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"; 
}; 

, где закрытый ключ является один обеспечивается фантастической посудой, и открытый ключ, ну, что бы я ни думал, или ничего. Если нет открытого ключа не предусмотрено, ошибка

[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 [email protected] 

правильно подключается к экземпляру. Поэтому, может быть, вопрос: «Может ли Rex использовать один закрытый ключ для подключения к хосту?»

+1

Net :: SSH2 (модуль SSH используется по умолчанию Rex) может не поддерживать ваш формат ключа. [Tell Rex] (http://www.rexify.org/howtos/book/authentication.html) вместо Net :: OpenSSH. – salva

+1

Вы также можете преобразовать ключ в формат, поддерживаемый Net :: SSH2. См. [Эта запись] (например, http://security.stackexchange.com/questions/32768/converting-keys-between-openssl-and-openssh). – salva

+0

@salva на самом деле, в конечном итоге решение было на этой странице: вы можете сгенерировать открытый ключ из закрытого ключа. Однако я не нашел, как может помочь изменение режима подключения к другому модулю. – jjmerelo

ответ

3

Наконец, я создал открытый ключ от секретного ключа с использованием, как это было предложено by the documentation,

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

, а затем с помощью этого public.key в Rexfile

Смежные вопросы