Crie uma chave ssh:
$ ssh-keygen -t rsa –P ""
Movendo a chave para a chave autorizada:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
bash
shell
ssh
io-redirection
sknit
fonte
fonte
Respostas:
Um elemento do caminho
/home/user/.ssh/
não existe; o shell (bash
) verifica o redirecionamento (>>
) antes de executar o comando (cat
). Se/home/user
existe e você tenta o seguinte:Agora você receberá:
Como esse arquivo não pode estar naquele lugar, se
/home/user/.ssh/
não existisse, para começar.Você está seguindo algumas instruções, possivelmente pulando alguns bits. Para criar o diretório:
No entanto,
id_rsa.pub
não estará lá. Será onde você executou ossh-keygen
comando em primeiro lugar.fonte
Certifique-se de estar conectado como o usuário para quem você deseja criar a chave ssh primeiro (ou esteja preparado para modificar os caminhos no comando para o diretório inicial correto).
Em seguida, basta criar o diretório:
Crie o arquivo usando o
cat
comando que você listou acima. Então não se esqueça de definir as permissões corretamente:Convém garantir que o diretório .ssh também tenha permissões apropriadas.
fonte
chmod 700 ~/.ssh
Se possível, eu sempre incentivo as pessoas a usar a ferramenta de linha de comando
ssh-copy-id
.Se você deseja apenas copiar sua chave pública SSH padrão para um servidor remoto, basta executar o seguinte comando:
Eu mostro um exemplo completo real de como usar esta ferramenta nesta seção de perguntas e respostas intitulada: Não é possível compartilhar uma conexão ssh com o rsync .
fonte
Isso também pode falhar se, ao criar a chave
ssh-keygen
, você der um nome de arquivo a ela. Digitei um nomemy-ssh-file-name
e ele escreveu a chave em/Users/MyUserName
vez da.ssh
pasta. Se você deixar o nome do arquivo em branco, ele gravará.ssh
conforme o esperado.fonte
-f ~/.ssh/custom-key-name