我有一个shell脚本权限被拒绝公钥运行shell脚本,其中包含ansible命令
#!/bin/bash
echo "hello world"
ansible zookservers -i /home/ec2-user/kafka_scripts/ansible_rep/inventory -a "/home/ec2-user/kafka_2.11-0.9.0.0/bin/kafka-server-start.sh kafka_2.11-0.9.0.0/config/server.properties" --sudo
而
我的错误是
| FAILED => SSH Error: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
while connecting to 172.30.0.243:22
当我运行ansible命令则正在执行 ,但当我把它放在一个shell脚本中时,我得到上面的错误
我的外壳与chmod 777权限 - 所以问题它没有与外壳执行权限
我发现了一些有趣的事情 当我从任何其他地方运行脚本我收到错误。但是当它运行在一个安全的目录中时,它就会被执行。后来当我从任何其他目录运行它时,它不会引发任何错误。 所以这个问题是首次公开密钥认证
而你不是用sudo调用脚本?这是唯一的想法,我会为什么你的关键被忽略。用'-vvv'调用Ansible来调试ssh。 – udondan
嗨我试过,但我无法解决问题 - '失败=> SSH错误:权限被拒绝(publickey,gssapi-keyex,gssapi-with-mic)。 连接到172.30.0.243:22时 使用-vvvv重新运行命令有时会很有用,它会打印SSH调试输出以帮助诊断问题。 –
我发现了一些有趣的东西 - 当我从其他地方运行脚本时出现错误。但是当它运行在一个安全的目录中时,它会被执行,然后当我从任何其他目录运行它时,它不会引发任何错误。所以问题是与初始公钥认证 - 很高兴,如果你能以这种方式帮助我 –