Logins SSH sem senha [closed]

0

Eu sei que esta é uma questão básica para muitos, mas como eu configuraria um login sem senha para um servidor SSH? De acordo com o guia do servidor Ubuntu, eu apenas importaria uma chave para minha máquina host, aquela da qual estou me conectando, ao servidor onde o par de chaves foi gerado. O oposto aconteceu. Eu posso SSH do servidor (Ubuntu) eu gostaria de conectar-se originalmente, ao meu computador host (macOS). Mesmo assim, me pedem uma senha em vez de uma senha. Qual é o sentido disso? Eu segui as instruções aqui:

link

Não funcionou. Eu apreciaria qualquer insight que você pudesse dar sobre por que isso não está funcionando.

Obrigado

    
por jrw 18.10.2017 / 03:01

1 resposta

1

Você precisa gerar a chave em sua máquina local e enviar a chave pública para o servidor. Em vez disso, você configura sua chave privada em seu servidor Ubuntu e adiciona sua chave pública ao seu Mac.

Em primeiro lugar, você vai querer excluir a chave SSH do seu servidor de ~/.ssh/authorized_keys , porque o seu servidor não deve ser capaz de acessar o SSH em seu próprio computador.

Para gerar uma chave, basta executar ssh-keygen no seu computador local. A menos que você saiba o que está fazendo, você pode simplesmente manter todas as opções como padrão. Certifique-se de inserir uma senha de chave - isso protegerá sua chave SSH de ser roubada, criptografando-a.

Sysadmin Tip: Use ssh-keygen -b 4096 to build a longer (and more secure!) key.

Depois de ter seu par de chaves gerado, você precisará enviar sua chave pública para o servidor ao qual deseja se conectar. Se você aceitou as opções padrão, sua chave pública estará em ~/.ssh/id_rsa.pub . Pegue o conteúdo deste arquivo e anexe-o a ~/.ssh/authorized_keys no servidor.

Sysadmin Tip: Do not, under any circumstances, give anyone or anything your private half of the key. It's called the private key for a reason.

Se o seu servidor estiver configurado corretamente, isso será o suficiente para permitir que você faça login usando sua chave SSH. No entanto, seu servidor pode não estar configurado corretamente. Certifique-se de ter as três linhas a seguir no /etc/ssh/sshd_config do seu servidor e as linhas são exatamente como aparecem aqui:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Se essas linhas não estiverem lá ou não estiverem como aparecem acima, edite o arquivo usando nano ou similar. Observe que você precisará de privilégios de administrador ( sudo ) para editar este arquivo. Se você tiver que editar sua configuração, será necessário reiniciar o serviço SSH usando sudo systemctl restart ssh.service .

Sysadmin Tip: To increase security, you can disable password authentication on your server by changing PasswordAuthentication line to no in /etc/ssh/sshd_config.

Dependendo da configuração do servidor, essas etapas podem não ser as mais precisas. Entre em contato com seu administrador, se você tiver um. As instruções podem ser diferentes dependendo da sua plataforma ou configuração - também não se esqueça de verificar qualquer documentação relevante para as alternativas da sua plataforma aos comandos (por exemplo, PuttyGen em vez de ssh-keygen no Windows).

Se isso ainda não funcionar, você terá que começar a investigar os logs. Conecte-se ao seu servidor usando ssh -vvv user@host e observe os logs SSH do servidor em /var/log/auth.log .

    
por 18.10.2017 / 03:16

Tags