Subprocesso Python .check_call vs .check_output

Meu script python (python 3.4.3) chama um script bash via subprocesso:

import subprocess as sp
res = sp.check_output("bashscript", shell=True)

obashscript contém a seguinte linha:

ssh -MNf somehost

que abre uma conexão mestre compartilhada com algum host remoto para permitir algumas operações subseqüentes.

Ao executar o script python, ele solicitará a senha para ossh linha, mas depois bloqueia depois que a senha é inserida e nunca retorna. Ao pressionar Ctrl-C para finalizar o script, vejo que a conexão foi estabelecida corretamente (portantossh linha foi executada com sucesso).

Não tenho esse problema de bloqueio ao usarcheck_call ao invés decheck_output, mascheck_call não recupera stdout. Eu gostaria de entender o que exatamente está causando o comportamento de bloqueio paracheck_output, provavelmente relacionado a alguma sutileza comssh -MNf.

questionAnswers(1)

yourAnswerToTheQuestion