Crie uma chave ssh:
Comando:
ssh-keygen -t rsa –P ""
Movendo a chave para a chave autorizada:
Comando:
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:
Comando:
ssh-keygen -t rsa –P ""
Movendo a chave para a chave autorizada:
Comando:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Respostas:
Você precisa criar o .sshdiretório e o authorized_keysarquivo pela primeira vez.
Crie o .sshdiretório:
mkdir ~/.ssh
Defina as permissões corretas:
chmod 700 ~/.ssh
Crie o authorized_keysarquivo:
touch ~/.ssh/authorized_keys
Defina as permissões corretas:
chmod 600 ~/.ssh/authorized_keys
As permissões são importantes! Não funcionará sem as permissões corretas!
Agora você pode adicionar a chave pública ao authorized_keysarquivo:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Você precisa adicionar a chave pública do seu computador ao authorized_keysarquivo do computador que deseja acessar usando as Chaves SSH !
Como o Terdon mencionou, você também pode usar este comando:
ssh-copy-id user@host
Isso colocará seu id_rsa.pub(no seu ~/.sshdiretório) no authorized_keysarquivo do computador remoto , criando o .sshdiretório e o authorized_keysarquivo com as permissões corretas, se necessário.
catisso, ssh-copy-idé para isso.
Caso você tenha recebido a chave pública em um email para instalar em um servidor remoto:
1) SSH no servidor. Eu usei o PuTTY no Windows.
2) Configure a chave:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Tome cuidado para copiar a chave exatamente e colá-la em uma nova linha na janela do editor. Verifique se ele ocupa uma única linha e salve.
chmod 600 ~/.ssh/authorized_keys
Como não tenho reputação suficiente, estou adicionando isso aqui. Além da resposta de Louis Matthijssen, se você ainda não conseguir fazer login através do ssh como um usuário que você criou, como
ssh username@host
isso pode ser devido à ausência de permissão do proprietário que você deve adicionar à sua pasta /home/username/.ssh. Eu tive o mesmo problema e você pode dar essa permissão como:
chown -R username:username /home/username/.ssh
Provavelmente, isso pode acontecer simplesmente porque você estava criando o diretório e definindo as permissões como raiz , mas não como o nome de usuário com o qual deseja acessar o servidor.
Espero que isso ajude alguém.
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-namee ele escreveu a chave em /Users/MyUserNamevez da .sshpasta. Se você deixar o nome do arquivo em branco, ele gravará .sshconforme o esperado.
~/.ssh/authorized_keyssão chaves de outros computadores aos quais você se conectou / confia, e não sua própria chave.