scp não funciona sem senha

0

Eu criei chaves para poder transferir arquivos e executar comandos sem precisar digitar uma senha. Eu usei este guia para fazer isso:

link

alterou o chmod para 600 na chave id_dsa.pub no env local.

quando executo este comando agora

scp -i /home/.ssh/id_dsa.pub /prod/tool/CODELIBRARY.txt user@remoteenv:/toload

ele continua pedindo uma frase secreta. Quando eu clico em enter, ele pede uma senha então.

mas quando eu executo este comando, ele funciona sem uma senha ou frase secreta:

ssh -v -l username remoteenv
    
por lightweight 09.07.2015 / 17:23

3 respostas

4

scp -i /home/.ssh/id_dsa.pub 

Há duas coisas erradas com este comando. Uma delas é que /home/.ssh é improvável de existir. Normalmente, as chaves SSH estão no diretório chamado .ssh em seu diretório inicial e seu diretório inicial é normalmente algo como /home/bob , portanto, o diretório .ssh é /home/bob/.ssh .

O outro problema, mais conceitual, é que scp (ou ssh ou sftp ) precisa receber o arquivo-chave private , mas você transmitiu o arquivo de chave pública. A chave é usada para autenticar o cliente no servidor. O cliente precisa provar quem é e, para isso, demonstra que conhece um segredo que ninguém mais sabe: a chave privada. O servidor sabe quem é o cliente, conhece a chave pública.

scp ou ssh funciona quando você não especifica um arquivo de chave porque ele procura o arquivo correto por padrão.

    
por 10.07.2015 / 01:34
1

Pergunta ... quando você executou este comando:

ssh-keygen -t dsa

Ele teria solicitado a você um keyphrase, assim:

[admin@test ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

Você deixou a senha em branco? Ou você digitou sua senha lá? Você desejará deixar a senha em branco neste contexto para evitar que seja solicitada uma senha toda vez.

    
por 09.07.2015 / 22:10
0

E mais uma coisa que acabei de encontrar, tive que editar o arquivo .ssh/authorized_keys e tornar o nome do host totalmente qualificado. Caso contrário, eu não poderia usar o nome totalmente qualificado no comando scp / ssh.

    
por 06.02.2017 / 19:38