Фабрика ждет ввода в хосты Amazon Linux и не продолжается
Я пытаюсь использовать инструмент развертывания, ткань. Мне удалось выполнить команду fab для хостов CentOS и Ubuntu EC2. Но я не смог выполнить для хостов инстанса Amazon Linux EC2.
Команда, которую я выполнил, следующая:
$ fab -f fab_test.py getHostname
fab_test.py:
$ cat fab_test.py
from fabric.api import run, env
env.hosts = ["*** host ip addr ***"]
env.user = "ec2-user" # clduser for CentOS and ubuntu for UbuntuOS
env.port = "*** port number ***"
env.key_filename = "/path/to/clduser.pem"
def getHostname():
run("hostname")
успешный результат:
[*** host ip addr ***] Executing task 'getHostname'
[*** host ip addr ***] run: hostname
[*** host ip addr ***] out: host-name
[*** host ip addr ***] out:
Done.
неудачный результат:
[*** host ip addr ***] Executing task 'getHostname'
[*** host ip addr ***] run: hostname
[*** host ip addr ***] out: [ec2-user@host-name ~]$
"fail" означает, что матрица ожидает ввода и не выполняет команду "hostname". Когда я ввожу какую-либо команду для запроса, она выполняется правильно на удаленном хосте. Поэтому я думаю, что установление соединения ssh - это нормально Экземпляры Amazon Linux только что созданы, и ничего не установлено. Гостевая машина также является EC2 экземпляром Amazon Linux.
Кто-нибудь может решить эту проблему? Я не мог найти решение, выполнив поиск в Google. Спасибо.