chaves públicas SSH não funcionam; meu diretório pessoal é criptografado

6

Instalei a edição do servidor Ubuntu LTS 14.04 em um computador remoto e adicionei minha chave pública local a ~/.ssh/authorized_keys no computador remoto. Descobri que ainda precisava usar a senha para efetuar login no computador remoto, mesmo depois de definir a permissão de ~/.ssh para 700 e ~/.ssh/* para 600 no computador remoto. No entanto, uma vez logado, posso começar a usar a chave pública para autorização de outras sessões ssh.

Meu diretório pessoal é criptografado.

Como posso corrigir isso?

    
por shva 22.02.2015 / 20:54

1 resposta

5

Aqui está a solução do link que postei no meu comentário. Isto vem de aqui , que faz referência a este post do superusuário .

Crie a pasta .ssh em /home para as chaves a serem armazenadas

sudo mkdir /home/.ssh

Mover o arquivo authorized_keys existente para .ssh dir como nome de usuário

sudo mv ~/.ssh/authorized_keys /home/.ssh/username

Crie um link simbólico para o arquivo authorized_keys no usuário .ssh dir

ln -s /home/.ssh/username ~/.ssh/authorized_keys

Atualize o arquivo sshd_config para definir o novo caminho para o arquivo authorized_keys

sudo vim /etc/ssh/sshd_config

Altere a linha AuthorizedKeysFile para:

AuthorizedKeysFile      /home/.ssh/%u

Reinicie o computador

sudo shutdown -r now

Faça login no seu servidor e você deverá receber um diretório inicial mínimo não descriptografado ... Você precisará criar e editar um arquivo .profile para obter o ecryptfs para montar seu diretório pessoal.

sudo vim ~/.profile

Adicione estas linhas:

ecryptfs-mount-private
cd /home/username

Saia / Reinicie e volte novamente. Você deve ser solicitado a fornecer sua senha após a autenticação da chave SSH e, em seguida, receber o seu diretório pessoal descriptografado.

Agora você deve conseguir fazer o login usando as chaves SSH todas as vezes, não importando se o diretório inicial é descriptografado ou não.

    
por 22.02.2015 / 21:10