Como fazer o login sem senha funcionar


12

Gerei uma chave e a copiei no meu destino:

ssh-keygen
ssh-copy-id username@hostname

Deixei o local da chave como padrão e não defini nenhuma senha.

Por um pequeno tempo depois disso, consegui ssh username@hostnamesem ser solicitada uma senha e, em seguida, ela parou de funcionar por algum motivo.


2
Veja unix.stackexchange.com/tags/ssh/info ... Vamos fazer disso uma pergunta de referência da qual possamos fechar outras pessoas como duplicata.
Gilles 'SO- stop being evil'

Respostas:


8

Se a autenticação de chave pública não funcionar: verifique se, no lado do servidor, seu diretório pessoal ( ~), o ~/.sshdiretório e o ~/.ssh/authorized_keysarquivo são todos graváveis apenas pelo proprietário . Em particular, nenhum deles deve ser gravável pelo grupo (mesmo que o usuário esteja sozinho no grupo). chmod 755ou chmod 700está ok, chmod 770não está.

O que verificar quando algo está errado:

  • Execute ssh -vvvpara ver muita saída de depuração. Se você postar uma pergunta perguntando por que não pode se conectar ao ssh, inclua esta saída (você pode anonimizar o host e os nomes de usuário).
  • Se puder, verifique os logs do servidor, geralmente em /var/log/daemon.logou /var/log/auth.logou similares.
  • Se a autenticação de chave pública não estiver funcionando, verifique as permissões novamente, especialmente o bit do grupo (veja acima).

Olá, por que authorized_keysnão deve ser gravável pelo grupo? O SSH rejeita isso por questões de segurança?
Ei

1
@YdobEmos Qualquer pessoa com quem você possa escrever authorized_keyspode adicionar sua própria chave e fazer login na conta. Portanto, apenas o usuário deve ser permitido. (Ter o arquivo de grupo gravável é realmente seguro se nenhum outro usuário estiver nesse grupo, mas isso é difícil de detectar de forma confiável quando os membros do grupo podem vir de bancos de dados de rede.)
Gilles 'SO parada sendo maus'

1

O diretório inicial do destino era 755 drwxr-xr-x. Mudar para ser gravável em grupo 775 drwxrwxr-xinterrompeu a configuração sem senha.


O mesmo problema ainda não o resolveu.

Quer dizer que você não pode obter um trabalho de login sem senha, mesmo depois de tornar o diretório gravável em grupo?
tshepang

SIM - consulte unix.stackexchange.com/q/208152/11085 , CentOS 7 de 64 bits em que estou tentando fazer logon com minhas chaves id_rsa, mas sempre falha.


0

Supondo RHEL / CentOS, e supondo que você tenha acesso de administrador ao servidor remoto no qual o usuário newuserdeseja fazer o ssh.

Obter newuser'sexistente id_rsa.pube ter pronto.

Siga os passos:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Têm newusertentativa de login.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.