Удаленная команда SSH, отправленная Python 2.7

Что сработало для меня, было исключение группы hamcrest из компиляции теста junit.

Вот код из моего build.gradle:

testCompile ('junit:junit:4.11') {
    exclude group: 'org.hamcrest'
}

Если вы используете IntelliJ вам может потребоваться запустить gradle cleanIdea idea clean build, чтобы снова обнаружить зависимости.

0
задан Keith 28 February 2019 в 03:56
поделиться

1 ответ

Используя shell=True со списком, вы запускаете эквивалент

sh -c ssh -i /path/myKey.pem centos@myServer.com lsb_release -a

, который не , что вы хотите; он запускает ssh, но использует -i в качестве значения [116], а не первый аргумент ssh. Это делает /path/myKey.pem похожим на адрес хоста, к которому вы хотите подключиться.

Просто бросьте shell=True.

p = Popen(cmd, stdout=PIPE, stderr=PIPE)

Хотя это не проблема, предложение Клауса Д. передать lsb_release -a в качестве единственного аргумента - это хорошая идея в целом. ssh должен объединить их в одну строку, чтобы перейти к sh -c на удаленном конце; может также сделать это самостоятельно, чтобы убедиться, что все сделано правильно.

cmd = ['ssh', '-i', '/path/myKey.pem', 'centos@myServer.com', 'lsb_release -a']
0
ответ дан chepner 28 February 2019 в 03:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: