使用ansible_ssh_private_key_file为每个主机定义ssh密钥
时间:2020-01-09 10:38:05 来源:igfitidea点击:
如何设置并告诉Ansible使用不同的ssh密钥?
如何为每个云托管服务提供商配置SSH凭据?
如何对使用Ansible工具管理的服务器使用不同或多个SSH私钥。
Ansible是免费的开源IT软件,可自动执行软件供应,配置管理和应用程序部署。
可以使用Ansible在EC2中创建云主机,修补服务器,添加用户,配置路由器/防火墙等。
Ansible使用SSH,它也允许用户和absbil;登录到远程服务器并执行管理任务。
该页面显示了如何使用Ansible IT自动化工具设置SSH密钥以登录到远程服务器。
每个使用ansible_ssh_private_key_file的主机定义ssh密钥
您需要在列表文件中使用ansible_ssh_private_key_file。
语法非常简单:
host ansible_ssh_private_key_file=/path/to/your/.ssh/file.pub 192.168.2.200 ansible_ssh_private_key_file=/path/to/your/.ssh/id_rsa.pub 104.20.187.5 ansible_ssh_private_key_file=/path/to/your/.ssh/aws.pem
ansible_ssh_private_key_file示例
让我们使用文本编辑器(如vim命令)在~/projects/ansible/hosts中打开一个名为hosts的文件:
$ vim ~/projects/ansible/hosts
示例文件:
[my_servers] 1.2.3.4 ansible_ssh_private_key_file=/home/Hyman/.ssh/id_ed25519.pub 192.54.1.5 ansible_ssh_private_key_file=~/.ssh/Lightsail-us-west-2.pem www1 ansible_ssh_private_key_file=~/.ssh/Linode-us.rsa.pub vpn-box1 ansible_ssh_private_key_file=~/.ssh/Linode-us.rsa.pub
另一个例子:
## Ansible with multiple SSH key pair as per server hosting ## [linode] www1-li ansible_ssh_private_key_file=/path/to/file www2-li ansible_ssh_private_key_file=/path/to/file [aws] www1-aws ansible_ssh_private_key_file=/path/to/file www2-aws ansible_ssh_private_key_file=/path/to/file [google_cloud] www1-gcp ansible_ssh_private_key_file=/path/to/file www2-gcp ansible_ssh_private_key_file=/path/to/file
可以将其分组如下:
[linode] www1-li www2-li [aws] www1-aws www2-aws [google_cloud] www1-gcp www2-gcp [linode:vars] ansible_ssh_user=Hyman ansible_ssh_private_key_file=/home/Hyman/.ssh/linode.id_ed25519.pub [aws:vars] ansible_ssh_user=ec-2 ansible_ssh_private_key_file=/home/Hyman/.ssh/aws-ec2-usa-east.pem [google_cloud:vars] [email protected] ansible_ssh_private_key_file=/home/Hyman/.ssh/google_compute_engine.pem [freebsd] aws_freebsd_1 aws_freebsd_2 aws_freebsd_3 [freebsd:vars] ansible_python_interpreter=/usr/local/bin/python ansible_ssh_user=Hyman ansible_ssh_private_key_file=/home/Hyman/.ssh/freebsd-aws-lightsail.pem
如何空运行并测试您的库存或剧本
您可以要求Ansible不做任何更改;相反,请尝试预测这些文件中的一些差异:
$ ansible-playbook -i hosts my-book.yml --check $ ansible freebsd -i hosts --list-hosts $ ansible aws -i hosts --list-hosts $ ansible google_cloud -i hosts --list-hosts
所有可用的SSH连接配置选项的列表
ansible_port = 2020
:ssh端口号,如果不是22ansible_user = Hyman
:要使用的默认ssh用户名。ansible_ssh_private_key_file =/path/to/ssh.pem
:ssh使用的私钥文件。如果使用多个密钥并且您不想使用SSH代理,则很有用。ansible_python_interpreter =/usr/local/bin/python
:目标主机python路径