password para ssh e scp

1

(1) Eu quero enviar alguns arquivos para um servidor

for (( i=0 ; i < 23 ; i+=1 )); do  
    echo mypassword | scp [email protected]:project/$i/train10000/finer_search_c_g ~/project/$i/train10000/  
done

Espero que, enviando minha senha para scp, o loop seja executado sem interação. No entanto, ainda me pede para inserir manualmente a senha. Como devo especificar mypassword para scp?

(2) Eu não uso chaves de autenticação geradas pelo ssh-keygen porque o servidor é realmente um nó principal de um cluster. Descobri que, se eu usar o ssh-keygen para gerar chaves de autenticação, os arquivos em ~ / .ssh farão o acesso entre os nós que exigem senha, o que não é possível encontrar uma solução. É possível fazer o acesso entre nós com a senha vazia ao usar as chaves de autenticação para acessar o nó principal de fora do cluster?

Obrigado e cumprimentos!

    
por Tim 09.02.2010 / 00:04

3 respostas

8

Use um arquivo de chave. Coloque o arquivo de chaves privado no seu cliente e use o ssh-agent para manter o arquivo de chaves carregado na memória, descriptografado. Coloque o arquivo de chave pública em cada um dos sistemas que você deseja acessar.

Use o encaminhamento de autenticação para criar conexões entre vários hosts sem ser solicitado a autenticação.

    
por 09.02.2010 / 00:18
2

scp / ssh testará o fluxo de entrada para verificar se é um TTY e, se não, tentará caminhos alternativos para obter a senha, então a tubulação simples não funcionará (porque o tubo não é um tty).

    
por 09.02.2010 / 18:48
0

Você precisa copiar a chave pública para o arquivo .ssh / authorized_keys no sistema ao qual deseja se conectar.

    
por 09.02.2010 / 04:14

Tags