Recentemente, configurei um novo servidor com o Ubuntu karmic 9.10 e, quando criei meu diretório pessoal, optei por criptografá-lo. Agora, depois de carregar meu arquivo allowed_keys no ~ / .ssh, ele não é reconhecido porque meu diretório pessoal não é descriptografado até depois que eu logo. Existe uma maneira de fazer com que as chaves SSH funcionem com diretórios pessoais criptografados no Ubuntu?
ssh
disk-encryption
Josh
fonte
fonte
ubuntu
tag, mas não acho que esse problema seja específico de nenhum sistema operacional em particular.authorized_keys
ainda não está acessível). Se eu iniciar outra conexão ssh, a autenticação de chave funcionará.Respostas:
Mude esta linha no seu arquivo sshd_config:
E então mova seu arquivo allowed_keys para / etc / ssh / your-username / allowed_keys
Esta postagem documenta outra maneira de resolver isso.
fonte
Esta solução foi inspirada neste post . IMHO é muito melhor do que modificar o seu / etc / ssh / sshd_config, pois não requer acesso root.
fonte
authorized_keys
em/home/**.ecryptfs**/$USER
sem criptografia e link para ele de você criptografada casa, bem como a sua casa sem criptografia. O novo.profile
em sua casa não criptografada deve montar seu diretório pessoal criptografado, "cd" nele e obter o seu real.profile
.ecryptfs-mount-private
solicita a senha do usuário todas as vezes após o login bem-sucedido por meio de chaves públicas, a menos que você esteja logado na GUI. Minha edição substitui alguns ecos por um documento aqui, é menos repetitivo para digitar, não se confunda com isso.Passei algum tempo brincando com isso, e a resposta é que é basicamente fundamentalmente impossível. Ele é possível configurar logins-chave pública autenticados-sem senha via ssh, para que você não tem que digitar sua senha para logar-se , mas isso não leva a lugar nenhum, porque a sua pasta pessoal ainda está criptografada.
O simples fato é que seu diretório pessoal criptografado é criptografado com uma senha *, portanto, a única maneira de descriptografá-lo é com essa senha.
E se você está pensando que, em teoria, deve ser possível usar sua chave ssh para descriptografar a senha de montagem no login, isso não funcionará porque sua chave privada nunca é enviada ao servidor.
Então, basicamente, se você deseja criptografia, precisa usar senhas. Diretórios pessoais criptografados são incompatíveis com logins de impressões digitais pelo mesmo motivo.
* Eu sei que é mais complicado que uma única senha, mas vamos simplificar por enquanto.
fonte
Se você não gosta de modificar a configuração padrão (eu não gosto, eu gosto que meus arquivos estejam onde eu espero que estejam), convém dar uma olhada no meu post sobre como fazer isso:
Em resumo. Você coloca suas chaves na versão criptografada do usuário
~/.ssh
e vincula a versão criptografada~/.ssh
ao outro. Desta forma, está sempre lá.Para as pessoas preguiçosas como eu, aqui está um script para fazer isso por você. Basta executá-lo como o usuário normal. Não é necessário acesso ou permissões raiz e não são necessárias alterações na configuração do servidor. Configurações normais do usuário puro.
fonte
Você pode usar a chave pública mais segura para efetuar login e executar o seguinte para montar seu diretório depois de digitar sua senha:
Leia o
~/README.txt
arquivo depois de efetuar o login via SSH; você descobrirá que não possui seus arquivos porque o diretório criptografado não está montado.Você não deve usar chaves públicas sem senha para fazer login de qualquer maneira. Veja o ssh-agent para uma maneira melhor.
fonte