Posso ssh via chave pública se não houver diretório inicial no sistema remoto?

4

Eu atualmente tenho que ssh com o usuário FOO, em seguida, sudo para o usuário BAR.

Eu gostaria de usar o ssh com uma chave pública, mas no sistema remoto não há um diretório home para o usuário FOO, então obviamente não .ssh / authorized_keys. Onde posso colocar minha chave pública?

O diretório / home está vazio, então parece que nenhum diretório pessoal é criado para qualquer usuário, e eu não tenho raiz nesse sistema.

Obrigado.

    
por ccc 08.02.2018 / 13:21

2 respostas

1

Supondo que seu nome de usuário seja testssh:

  • crie / etc / ssh / authorized_keys_testssh e coloque sua chave lá
  • adicione o seguinte em / etc / ssh / sshd_config

    Corresponder testes do usuário

    AuthorizedKeysFile  /etc/ssh/authorized_keys_%u
    

e reinicie o sshd. Seu usuário poderá usar ssh com sua chave privada.

    
por 08.02.2018 / 13:54
1

Resposta curta

Você provavelmente não pode - falar com seu administrador de sistema.

Resposta mais longa

Em primeiro lugar, o fato de o diretório /home estar vazio (e mesmo que não exista) não significa necessariamente que o usuário não tenha um diretório pessoal. Você pode tentar ver o valor da variável de ambiente HOME :

$ echo $HOME
/path/to/nonstandard/homedirectory

ou use o comando getent :

$ getent passwd username
username:*:1001:1001:User Name:/path/to/nonstandard/homedirectory:/bin/bash

Se o usuário realmente não tiver um diretório inicial, ainda será possível usar uma chave pública se o administrador do servidor tiver definido um local fora do padrão para o arquivo authorized_keys .

Supondo que você esteja usando o OpenSSH , o local do arquivo authorized_keys pode ser especificado pela palavra-chave AuthorizedKeysFile no sshd_config arquivo de configuração. Consulte a documentação para mais informações:

O valor padrão é ~/.ssh/authorized_keys . Você terá que olhar as configurações em /etc/ssh/sshd_config para ver se o padrão está sendo cancelado. Como você não tem acesso root, provavelmente terá que pedir ajuda ao administrador do sistema se quiser fazer alguma alteração.

Se você não tiver um diretório pessoal, que o administrador do sistema não configurou um local diferente para o arquivo authorized_keys e você não tiver privilégios administrativos em sua máquina, provavelmente não será capaz de usar a autenticação baseada em chave - fale com o seu administrador de sistema.

    
por 08.02.2018 / 13:46