Opção correta para autenticação SSH?

0

Estou usando o rdiff-backup para enviar backups incrementais para o meu servidor local. Meu host é o Windows e meu controle remoto é uma máquina Linux. Estou tentando fazer com que meu script execute o seguinte:

command = os.system('rdiff-backup --exclude "**.dropbox**" --exclude "**.ini**" --remote-schema "ssh -i C:/Users/Adam/.ssh/id_rsa %s -p1019 rdiff-backup --server" C:/Users/Adam/Dropbox [email protected]::/mnt/disk1/Adam/Dropbox')

No entanto, durante a execução, sou promovido com:

Could not create directory '/home/Adam/.ssh'. The authentictity of host '[192.168.0.5]:1019 ([192.168.0.5]:1019)' can't be established. RSA key fingerprint is 2e:7c:f0:0c:4b:8d:fa:e1:21:a1:32:81:a0:e1:11:11. Are you sure you want to continue connecting (yes/no)?

Eu pensei que a opção -i C:/Users/Adam/.ssh/id_rsa superaria isso? Não é prático ter isso solicitado por execução do script. Como posso ignorar isso, mantendo a autenticação e a segurança (como escreveremos em breve um script semelhante para o meu laptop, mas para enviar backups incrementais por meio de máquinas públicas e remotas)?

Atualização:

Por favor, leia a resposta de Grawity, juntamente com os comentários, para ajudar-se a entender onde eu errei e como consertei - claro, com a ajuda de Grawity. Para resolver o problema com o Cygwin dizendo Cannot create directory /home/USERNAME/.ssh , veja esta postagem do blog .

"Primeiro, localize o arquivo chamado passwd no seu diretório C:\path\to\cygwin\etc e abra-o com o Wordpad. Segundo, substitua o texto /home/YOUR_NAME por /cygdrive/c/Documents and Settings/YOUR_NAME . Por fim, salve o arquivo."

    
por adampski 31.03.2014 / 02:37

3 respostas

0

O que você está vendo ...

The authentictity of host '[192.168.0.5]:1019 ([192.168.0.5]:1019)' can't be established.

... não está relacionado de forma alguma à chave que você está usando a autenticação do usuário. A mensagem está falando sobre a autenticação host - certificando-se de que o servidor é o correto.

Normalmente, o prompt é único, pois a chave pública do servidor é armazenada em ~/.ssh/known_hosts . No entanto, no seu caso, ssh não pode criar este arquivo porque ele não pode criar o diretório pai:

Could not create directory '/home/Adam/.ssh'.

O mais provável é que isso falhe porque /home/Adam em si não existe ou porque /home/Adam/.ssh é algo diferente de um diretório. Tente criá-lo manualmente, usando mkdir .

(Também: a leitura de mensagens de erro ajuda.)

    
por 31.03.2014 / 02:43
0

Você precisa verificar o seu ~ / .ssh / known_hosts para a entrada 192.168.0.5, que pode ter mudado.

Isso faz parte do mecanismo de segurança do lado do cliente do ssh. Por favor, consulte a documentação do ssh e man-page para mais informações. Não há atalho para entender a segurança postando perguntas em superuser.com e co.

No entanto, se sua pergunta foi sobre como sobrescrever e deliberadamente ignorar isso, adicione este parâmetro à sua linha de comando:

ssh -o StrictHostKeyChecking=no <...>

(E, por favor, não me culpe pelas consequências disso.)

Divirta-se.

    
por 01.04.2014 / 22:05
0

Eu tive o mesmo problema. O SSH do MINGW está realmente em casa para o caminho / home //. Ssh

Coloque suas configurações de SSH lá e funcionará

    
por 07.07.2014 / 04:14