ดูเหมือนว่าคำตอบแรกของฉันไม่ถูกต้องทั้งหมด ในขณะที่แน่นอนมันเป็นไปได้ที่จะแก้ปัญหาได้ในของคุณ.ssh/config
เช่นอธิบายไว้ด้านล่างดูเหมือนว่าเช่นเดียวกับที่จะเป็นไปได้ด้วย ansibles พฤติกรรมพารามิเตอร์สินค้าคงคลัง
คุณควร (ตามเอกสาร) สามารถกำหนด keyfile และผู้ใช้ในสินค้าคงคลังของคุณไม่ว่าจะเป็นต่อโฮสต์หรือต่อกลุ่ม
คำจำกัดความต่อกลุ่ม:
[some_hosts]
host1.foo
host2.foo
[some_hosts:vars]
ansible_ssh_user=ubuntu
ansible_ssh_private_key_file=/home/caleb/.ssh/staging_key.pem
คำจำกัดความต่อโฮสต์:
[some_hosts]
host1.foo ansible_ssh_user=ubuntu ansible_ssh_private_key_file=/home/caleb/.ssh/staging_key.pem
host2.foo ansible_ssh_user=another_user ansible_ssh_private_key_file=/home/caleb/.ssh/production_key.pem
แต่คุณสามารถกำหนดกลุ่มโฮสต์หลายกลุ่มที่มีอยู่แล้วใน.ssh/config
และแต่ละกลุ่มสามารถมีการตั้งค่าแยกต่างหากเกี่ยวกับคีย์และผู้ใช้
นี่คือตัวอย่างด่วน
#Example with a wildcard
Host *.foo.com
user ubuntu
IdentityFile /home/caleb/.ssh/staging_key.pem
#Example with multiple hostnames
Host hostname.one hostname.two hostname.three
user other_user
IdentityFile /home/caleb/.ssh/production_key.pem
เช่นกันคุณสามารถกำหนดค่าเริ่มต้นและแทนที่ในภายหลังด้วยการตั้งค่ารายละเอียดเพิ่มเติม
Host *
user defaut_username
Host somehost
user special_username