Relatórios de restauração de duplicidade “Senha SSH inválida” quando estou usando uma chave privada para conexão

2

Estou testando a restauração de um backup com a duplicidade 0.6.15.

Eu consigo acessar meu servidor de backup usando ssh e sftp usando os seguintes comandos e minha chave privada:

... sftp

root@client:~# sftp -oPort=7843 [email protected]
Enter passphrase for key '/root/.ssh/id_rsa':
Connected to 192.168.x.x
sftp> exit

... ssh

root@client:~# ssh -p7843 [email protected]
Enter passphrase for key '/root/.ssh/id_rsa':
Connected to 192.168.x.x
Last Login: ....

Eu tenho o seguinte script de restauração usado para restaurar o conteúdo do backup assinado e criptografado:

#!/bin/bash
export SIGN_PASSPHRASE='<signed-key-passphrase'
export PASSPHRASE='<encryption-passphrase>'

duplicity -v9 --encrypt-key="<encryption-key-id>" --sign-key="<signed-key-id>" --force \
scp://[email protected]:7843//home/backupUser/backup /mnt/restore

No entanto, quando executo a duplicidade do script:

root@client~#: ./restore_script.sh

A duplicidade me apresenta o seguinte erro quando a duplicidade a usa para tentar fazer login no meu servidor de backup:

Using archive dir: /root/.cache/duplicity/b1a470f45b67cd7784bc8e6449383df7
Using backup name: b1a470f45b67cd7784bc8e6449383df7
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.giobackend Succeeded
Import of duplicity.backends.ftpsbackend Succeeded
Import of duplicity.backends.cloudfilesbackend Succeeded
Import of duplicity.backends.gdocsbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.u1backend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Main action: restore
================================================================================
duplicity 0.6.15 (August 19, 2011)
Args: /usr/bin/duplicity -v9 --encrypt-key=<encryption-key-id> --sign-key=<signature-key-id> --force scp://[email protected]:7843//home/backupUser/backup /mnt/restore
Linux client 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686
/usr/bin/python 2.7.2+ (default, Oct  4 2011, 20:03:08) 
[GCC 4.6.1]
================================================================================
Using temporary directory /tmp/duplicity-sLukkP-tempdir
Registering (mkstemp) temporary file /tmp/duplicity-sLukkP-tempdir/mkstemp-12JD0o-1
Temp has 4995375104 available, backup will use approx 34078720.
Running 'sftp  -oPort=7843 -oServerAliveInterval=15 -oServerAliveCountMax=2 [email protected]' (attempt #1)
State = sftp, Before = 'Enter'
State = sftp, Before = ''
Invalid SSH password
Running 'sftp  -oPort=7843 -oServerAliveInterval=15 -oServerAliveCountMax=2 [email protected]' failed (attempt #1)
Removing still remembered temporary file /tmp/duplicity-sLukkP-tempdir/mkstemp-12JD0o-1
INT intercepted...exiting.

Eu tenho uma chave pública no meu diretório .ssh , e deve permitir duplicidade de login usando isso ao invés de pedir uma senha ssh (que eu desliguei no servidor de qualquer maneira), então eu não entendo porque o servidor não está permitindo a duplicidade de login.

Aqui está a listagem do meu diretório do .ssh , permissões e tudo:

root@client:~# ls -la /root/.ssh
total 16
drwx------ 2 root root 4096 2011-11-29 01:05 .
drwx------ 8 root root 4096 2011-11-29 12:30 ..
-rw------- 1 root root 1766 2011-11-29 01:06 id_rsa
-rw-r--r-- 1 root root  442 2011-11-29 00:38 known_hosts

Há algo que estou perdendo? Eu consegui o backup para funcionar bem, e gostaria de testar a restauração do backup antes de selar o acordo aqui e dizer que funciona.

    
por leeand00 29.11.2011 / 20:02

1 resposta

1

Ok, eu percebi. Para que a duplicidade insira a senha para a chave ssh, ( não para a chave de criptografia gpg), keychain deve ser instalado e configurado, e a chave deve ser adicionado usando o comando ssh-add .

Eu precisava instalar keychain , então eu fiz

e, em seguida, adicione eu adicionei ao meu .bash_profile da seguinte forma:

keychain --clear id_rsa
. ~/.keychain/$HOSTNAME-sh

Agora, supondo que minha chave pública seja armazenada junto com minha chave privada no diretório /root/.ssh , quando eu alternar os usuários para root , primeiro recebo um erro, mas depois disso, corro ssh-add , exit a conta e faça login novamente como root .

Quando eu volto para a conta root , me perguntam a senha da chave privada ssh. Agora a duplicidade parece funcionar ... na medida em que se conecta ao outro servidor de qualquer maneira ... Eu não consigo mais a mensagem Invalid SSH Password que eu estava recebendo antes.

    
por 30.11.2011 / 20:51