因此,场景是: 我有一台小型计算机(运行Ubuntu服务器18.04),可以从本地计算机使用SSH访问。 传感器设备连接到小型计算机,该传感器设备通过USB连接,但是使用SSH通过root@x.x.x.x(无密码)从小型计算机访问,并且运行的是精简版Linux。
我需要将配置文件复制到设备上(并且能够使用SCP从小型计算机成功完成此操作),但是希望能够使用Ansible从我的本地计算机中完成此操作,因为将会有数百个这些要设置,每个都有不同的配置。
Ansible角色如下:
- name: "Copy config file to mini PC"
template:
src: config.json.j2
dest: "{{ pc_config_path}}"
- name: "Copy config file from mini PC to sensor
command: "scp {{ pc_config_path}} root@{{ device_ip_addr }}:{{ device_config_path }}"
become: yes
第一个任务成功执行,但第二个任务挂起。
我尝试过shell和raw,甚至创建了一个bash脚本并运行该脚本都没有成功。
不确定这是否是安全限制,但想找到解决方案。因此,任何想法都会有所帮助。
谢谢。
答案 0 :(得分:1)
发现scp命令正在等待响应,以将该设备添加到known_hosts列表中
将任务更新为
- name: "Copy gnd.json from PC to v2x unit"
command: "scp -oStrictHostKeyChecking=no {{ pc_config_path }} root@{{ device_ip_addr }}:{{ device_config_path }}"
一切正常