2015-05-26 2 views
0

Я пытаюсь развернуть экземпляр ec2 внутри VPC в частной подсети. Каждый раз, когда я запускаю kitchen test, я могу развернуть экземпляр с правильными группами безопасности и в правом диапазоне подсети. Когда тестовая кухня пытается подключиться к экземпляру SSH, он запрашивает пароль. Однако, когда я вручную пытаюсь выполнить ssh (ssh <private_ip> -i <path_to_ssh_key> -l ubuntu) на машине, мне не удается получить пароль.Кухонный EC2 SSH запрос пароля для экземпляра внутри VPC

Ниже мой .kitchen.yml файл

--- 
driver: 
    name: ec2 
    aws_ssh_key_id: id-spanning 
    security_group_ids: ['sg-9....5'] 
    region: us-east-1 
    availability_zone: us-east-1a 
    require_chef_omnibus: true 
    subnet_id: subnet-5...0 
    associate_public_ip: false 
    instance_type: m3.medium 
    interface: private 

transport: 
    ssh_key: ~/.ssh/id-spanning.pem 
    connection_timeout: 10 
    connection_retries: 5 
    username: ubuntu 

provisioner: 
    name: chef_solo 

platforms: 
    - name: Ubuntu-14.04 
    driver: 
     image_id: ami-8821cae0 

suites: 
    - name: default 
    run_list: 
    attributes: 

У меня есть полномочия AWS на месте на переменные среды. Ниже приводится мой вывод.

kitchen test 
-----> Starting Kitchen (v1.4.0) 
-----> Cleaning up any prior instances of <default-Ubuntu-1404> 
-----> Destroying <default-Ubuntu-1404>... 
    EC2 instance <i-16f468c6> destroyed. 
    Finished destroying <default-Ubuntu-1404> (0m1.90s). 
-----> Testing <default-Ubuntu-1404> 
-----> Creating <default-Ubuntu-1404>... 
    Creating <>... 
If you are not using an account that qualifies under the AWS 
free-tier, you may be charged to run these suites. The charge 
should be minimal, but neither Test Kitchen nor its maintainers 
are responsible for your incurred costs. 

    Instance <i-8fad345f> requested. 
    EC2 instance <i-8fad345f> created. 
    Waited 0/300s for instance <i-8fad345f> to become ready. 
    Waited 5/300s for instance <i-8fad345f> to become ready. 
    Waited 10/300s for instance <i-8fad345f> to become ready. 
    Waited 15/300s for instance <i-8fad345f> to become ready. 
    Waited 20/300s for instance <i-8fad345f> to become ready. 
    Waited 25/300s for instance <i-8fad345f> to become ready. 
    EC2 instance <i-8fad345f> ready. 
    Password: 

Я попробовал несколько раз, и не везло на обход пароля, чтобы позволить тест-кухню, чтобы SSH к экземпляру. Ниже представлен мой вывод kitchen diagnose.

--- 
timestamp: 2015-05-26 15:34:29 UTC 
kitchen_version: 1.4.0 
instances: 
    default-Ubuntu-1404: 
    platform: 
     os_type: unix 
     shell_type: bourne 
    state_file: 
     hostname: '' 
     server_id: i-1.....6 
    driver: 
     associate_public_ip: false 
     availability_zone: us-east-1a 
     aws_access_key_id: 
     aws_secret_access_key: 
     aws_session_token: 
     aws_ssh_key_id: id-spanning 
     block_device_mappings: 
     ebs_optimized: false 
     flavor_id: 
     iam_profile_name: 
     image_id: ami-8821cae0 
     instance_type: m3.medium 
     interface: private 
     kitchen_root: "/Users/jonnas2/Desktop/apache101" 
     log_level: :info 
     name: ec2 
     price: 
     private_ip_address: 
     region: us-east-1 
     retryable_sleep: 5 
     retryable_tries: 60 
     security_group_ids: 
     - sg-9....5 
     shared_credentials_profile: 
     subnet_id: subnet-5....0 
     tags: 
     created-by: test-kitchen 
     test_base_path: "/Users/jonnas2/Desktop/apache101/test/integration" 
     user_data: 
     username: 
    provisioner: 
     attributes: {} 
     chef_metadata_url: 
     chef_omnibus_install_options: 
     chef_omnibus_root: "/opt/chef" 
     chef_omnibus_url: https://www.chef.io/chef/install.sh 
     chef_solo_path: "/opt/chef/bin/chef-solo" 
     clients_path: 
     cookbook_files_glob: README.*,metadata {json,rb},attributes/**/*,definitions/**/*,files/**/*,libraries/**/*,providers/**/*,recipes/**/*,resources/**/*,templates/**/* 
     data_bags_path: 
     data_path: 
     encrypted_data_bag_secret_key_path: 
     environments_path: 
     http_proxy: 
     https_proxy: 
     kitchen_root: "/Users/jonnas2/Desktop/apache101" 
     log_file: 
     log_level: :info 
     name: chef_solo 
     nodes_path: 
     require_chef_omnibus: true 
     roles_path: 
     root_path: "/tmp/kitchen" 
     run_list: [] 
     solo_rb: {} 
     sudo: true 
     sudo_command: sudo -E 
     test_base_path: "/Users/jonnas2/Desktop/apache101/test/integration" 
    transport: 
     compression: zlib 
     compression_level: 6 
     connection_retries: 5 
     connection_retry_sleep: 1 
     connection_timeout: 10 
     keepalive: true 
     keepalive_interval: 60 
     kitchen_root: "/Users/jonnas2/Desktop/apache101" 
     log_level: :info 
     max_wait_until_ready: 600 
     name: ssh 
     port: 22 
     ssh_key: "/Users/jonnas2/.ssh/id-spanning.pem" 
     test_base_path: "/Users/jonnas2/Desktop/apache101/test/integration" 
     username: ubuntu 
    verifier: 
     busser_bin: "/tmp/verifier/bin/busser" 
     http_proxy: 
     https_proxy: 
     kitchen_root: "/Users/jonnas2/Desktop/apache101" 
     log_level: :info 
     name: busser 
     root_path: "/tmp/verifier" 
     ruby_bindir: "/opt/chef/embedded/bin" 
     sudo: true 
     sudo_command: sudo -E 
     suite_name: default 
     test_base_path: "/Users/jonnas2/Desktop/apache101/test/integration" 
     version: busser 

версии используются: test-kitchen 1.4.0 kitchen-ec2 0.9.0

Любая помощь будет высоко ценится. Благодарю.

ответ

0

Эта проблема была разрешена испытательной кухней 1.4.1. Исправление было объединено (https://github.com/test-kitchen/test-kitchen/pull/704]) в основную тестовую кухню, которая отключает аутентификацию пароля, если конфигурация ssh_key настроена.

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