Passe a senha para "hg pull"

0

Estou muito confuso pessoal. Eu sou muito novo no Linux, mas ainda assim: estou tentando fazer

hg pull ssh://[email protected]/repo

em um VPS via Paramiko do Python no meu laptop. Eu já adicionei a chave SSH pública ao Bitbucket e a privada ao id_rsa. Quando eu emito o comando acima manualmente (na linha de comando), me pedem a frase secreta para a minha chave. Por alguma razão, não aceita stdin via Paramiko. Então, como uma solução alternativa, decidi simplesmente fazer

echo 'passphrase\n' | hg pull ssh://[email protected]/repo

Mas, mesmo na linha de comando, não funciona e continua perguntando "Digite a senha para a chave '/home/droplet/.ssh/id_rsa'". Eu também tentei

hg pull ssh://[email protected]/repo <<< 'passphrase\n'

O mesmo resultado. Você poderia por favor explicar por quê? Eu esperaria que esses comandos fornecessem a entrada que será usada por "hg pull" quando ele solicitar a entrada do usuário.

    
por texnic 05.08.2016 / 23:46

1 resposta

0

Você deve ser bom com a ferramenta sshpass :

sshpass -p passphrase hg pull ssh://[email protected]/repo

Ou com o armazenamento da chave no seu ssh-agent before (observe que, se o agente não estiver em execução, será necessário iniciá-lo usando eval $(ssh-agent) ):

ssh-add /home/droplet/.ssh/id_rsa

então o hg pull não deve pedir a frase secreta para essa chave.

    
por Jakuje 06.08.2016 / 08:38