Definitivamente não está relacionado a citar (o que deve provavelmente ser ssh -t host1 "ssh -t host2 \"uname -a\""
). As cotas aplicam-se apenas aos argumentos da linha de comando, não ao comando input / output. Apenas $()
pode afetar a saída.
O problema pode ser simplesmente como ssh
manipula a entrada / saída tty. Parece que ssh
(aqui ssh -t host1
) não usa o dispositivo terminal do lado do cliente, mesmo que tenha um disponível - ele grava em stdout, que $()
capturará.
A melhor solução seria configurar a autenticação de chaves entre local e host2 , depois adicionar as chaves ao ssh-agent e usar a opção "Encaminhamento de agentes": %código%. Dessa forma, você não precisa copiar sua chave privada em nenhum outro lugar.