Aqui está uma pergunta para a qual não encontrei absolutamente nenhuma resposta: como você pode configurar o sshd para que qualquer pessoa possa usar SSH livremente na caixa sem senha ou autenticação de chave? O objetivo é permitir que qualquer pessoa execute "ssh user@host" e entre na caixa sem precisar fornecer uma senha ou ter nenhuma chave configurada. Isso é possível?
Antes que alguém pergunte, estou ciente de que isso é uma má ideia na prática; no entanto, é apenas para um servidor sandbox que estou usando para fins de aprendizado.
Responder1
Isenção de responsabilidade: Eu nunca recomendaria fazer isso.
Presumo que seja para um sistema LAN, espero que não seja um sistema de Internet, mas você pode criar um usuário sem senha e habilitar a seguinte opção na configuração do OpenSSHd:
PermitEmptyPasswords yes
Para remover uma senha de um usuário, você pode usar -d
passwd.
passwd -d username
A maneira correta de usar chaves SSH
Você gera um par de chaves SSH para si mesmo; a forma como você gera isso depende do seu cliente. Para Linux, é ssh-keygen
. Você pode usar uma senha vazia ao gerar a chave para não precisar digitá-la ao fazer login.
No seu servidor, você pode armazenar a chave pública (id_rsa.pub) em uma linha no arquivoauthorized_keys normalmente encontrado no .ssh
diretório do usuário. Este arquivo pode precisar ser criado. (Para uma única chave, copiar id_rsa.pub para o servidor como ~/.ssh/authorized_keys deve ser suficiente).
O arquivo de chave privada nunca deve ser divulgado publicamente, mas pode ser divulgado para qualquer pessoa que você deseje que tenha acesso a este usuário@máquina.