Para usar o ssh-id-copy, você precisa de id_rsa.pub e id_rsa?

19

Estou tentando configurar uma segunda chave ssh de acesso para um amigo. Ele me enviou seu id_rsa.pub.

ssh-copy-id -i id_rsa.pub [email protected]
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory

Preciso que ele me envie os dois arquivos?


fonte
1
O .pub é suficiente. E lembre-se de que você sempre mantém sua chave privada em segredo (o tempo todo!). Para adicionar uma nova chave, você pode simplesmente acrescentar o conteúdo do arquivo .pub às suas teclas autorizadas.
deagh
2
@deaghVocê não precisa manter uma chave privada em segredo, precisa mantê-la segura.
O script ssh-copy-id aqui não parece emitir essa mensagem de erro específica. Percebo que seu script ssh-copy-id está em / usr / local / bin. Pode ser diferente da versão comumente usada do comando.
Kenster 6/02

Respostas:

12

O ssh-copy-idcomando do OpenSSH falha se não houver um arquivo de chave privada com o mesmo nome disponível, porque ele tenta efetuar login com a chave especificada para verificar se ele já está presente no servidor remoto.

Nas versões recentes, você pode substituir esse comportamento pela -fopção ("modo forçado").

Na página do manual :

-f

    Modo forçado: não verifica se as chaves estão presentes no servidor remoto. Isso significa que ele não precisa da chave privada. Obviamente, isso pode resultar em mais de uma cópia da chave sendo instalada no sistema remoto.

Dario Seidl
fonte
1
heads up, a ordenação dos parâmetros é rigorosa. -fsó funciona como esperado se você o passar antes do -iargumento. ssh-copy-id -i mykey.pub -f otheruser@hostapenas reclama, até você mover -f na frente.
init_js 23/07
5

O .pubé suficiente. Você não está na pasta correta.

Você pode tentar isso:

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

(para o usuário root: não recomendado, é apenas um exemplo).

Este arquivo está na .sshpasta na pasta do usuário.

Jérémy Munoz
fonte
4
No Mac precisa do -fse você não tem a chave privada, bem, eu acho
Stevie G
1

Como mencionado aqui, isso é um bug.

De qualquer forma, você pode simplesmente criar um arquivo vazio para fazê-lo funcionar. No seu caso:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub [email protected]

Eu tive o mesmo problema e isso funcionou para mim 👍

jawira
fonte
-1

funciona para mim a pergunta é quando ele pergunta "Digite o arquivo no qual salvar a chave (/Users/xiaoyu/.ssh/id_rsa):" você deve digitar id_rsa

e use o comando "ssh-copy-id -i ~ / .ssh / id_rsa.pub [email protected]"

user984431
fonte