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
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
Respostas:
bash: /home/user/.ssh/authorized_keys: No such file or directory
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:
cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this
Agora você receberá:
cat: /home/user/.ssh/id_rsa.pub: No such file or directory
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:
mkdir $HOME/.ssh
chmod 700 $HOME/.ssh
No entanto, id_rsa.pub
não estará lá. Será onde você executou o ssh-keygen
comando em primeiro lugar.
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:
mkdir ~/.ssh
Crie o arquivo usando o cat
comando que você listou acima. Então não se esqueça de definir as permissões corretamente:
chmod 400 ~/.ssh/authorized_keys
Convém garantir que o diretório .ssh também tenha permissões apropriadas.
chmod 700 ~/.ssh
Se possível, eu sempre incentivo as pessoas a usar a ferramenta de linha de comando ssh-copy-id
.
$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
Se você deseja apenas copiar sua chave pública SSH padrão para um servidor remoto, basta executar o seguinte comando:
$ ssh-copy-id user@remoteserver
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 .
Isso também pode falhar se, ao criar a chave ssh-keygen
, você der um nome de arquivo a ela. Digitei um nome my-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.
-f ~/.ssh/custom-key-name