
Então configurei o ssh sem senha usando o seguinte:Como posso configurar o login SSH sem senha?
Depois de configurar isso, espero não precisar de uma senha para ssh. Meu problema é que na minha primeira conexão com o ssh, ele me pedirá uma senha, mas sessões adicionais além disso serãonãopeça uma senha.
Já verifiquei meu sshd_config para ter certeza de que contém:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
Tenho certeza de que minhas permissões estão corretas, porque se não estivessem, o ssh sem senha não estaria funcionando.
Para adicionar mais "diversão" a esse problema, percebi que quando reinicio meu computador (seja o computador cliente ou o computador servidor ssh), às vezes ele funciona. Então, quando desligo o computador e tento novamente no dia seguinte, ele não funciona mais. Talvez isso seja completamente aleatório, mas é algo que percebi.
Responder1
Este é um problema comum com residências criptografadas e foi respondido muitas vezes, por exemplo, emUnix, mas é coberto até mesmo em documentos oficiaisDocumentação do Ubuntu.
Isso provavelmente é causado pelo fato de seu diretório inicial (e, portanto, a chave) não estar acessível durante o login. Isso pode ser causado pelo fato de sua casa ser montada a partir de uma unidade de rede (em sistema compartilhado) após o login ou seu diretório pessoal ser criptografado (geralmente instalações de estações de trabalho).
Resolver isso é complicado, mas vou dar uma olhada para alguma discussão. A solução é mover
AuthorizedKeysFile
para algum outro local, que seja acessível ou usar um armazenamento global de chaves (/etc/security/authorized_keys
), ou algum tipo de sistema de gerenciamento SSO (IPA, LDAP), que obterá sua chave do servidor de diretório (sim, pode ser local ). Depende de quanto controle do sistema de destino você tem.Provavelmente a melhor solução é armazenar suas chaves em outro local, alterando o valor em
sshd_config
:AuthorizedKeysFile /etc/ssh/%u/authorized_keys
De qualquer forma, se você mover seu arquivo authorized_keys
, certifique-se de que ele tenha as devidas permissões e conte com o fato de que, se você fizer login usando chave pública, não conseguirá acessar seu diretório pessoal (ele está criptografado por sua senha!), a menos que você muda a maneira como ele é criptografado.
Responder2
Se o certificado for copiado corretamente, ele deverá funcionar com a conexão formatada assim:
ssh hostname\ip -l username
Onde nome de usuário é o usuário que possui seu certificado em .ssh/authorized_keys