é possível fazer ssh no servidor Ubuntu com chaves e de outro computador usando senha?

é possível fazer ssh no servidor Ubuntu com chaves e de outro computador usando senha?

Eu tenho um servidor Ubuntu em casa e uso chaves SSH para fazer login via terminal do meu laptop. Raramente, mas principalmente no trabalho, preciso acessar este servidor, mas não quero copiar chaves no meu laptop de trabalho - prefiro usar uma senha simples para isso.

Então, se eu habilitar o login com senha no arquivo de configuração ssh, ele também me pedirá a senha no meu laptop, mesmo que contenha chaves, certo?

Existe uma maneira de parar esse comportamento?

Obrigado.

Responder1

Use duas chaves privadas

Configure sua estação de trabalho usando o mesmo processo (masnãoa mesma chave privada) como você fez quando configurou seu laptop:

  • Nunca há um bom motivo para copiar uma chave privada de outra máquina. Se você ainda não gerou uma nova chave privada em sua estação de trabalho, faça-o agora. Gere também a chave pública correspondente. Em um terminal na sua estação de trabalho,

tipo:ssh-keygen -t rsa

  • Copie a chave pública da sua estação de trabalho para o servidor. Em um terminal na sua estação de trabalho,

tipo:ssh-copy-id [email protected]

(mas use seu nome de usuário e nome de host reais e depois digite sua senha quando solicitado).

Isso instala a chave pública da sua estação de trabalho no ~/.ssh/authorized_keysarquivo desse usuário no servidor.

  • Não há etapa 3. A partir de agora, você pode fazer login no servidor a partir de sua estação de trabalho e nunca copiou a chave privada secreta do seu laptop.

detalhes

Presumo que o que você realmente está perguntando é

  • Eu tenho um servidor Ubuntu ("home")
  • Eu faço login no meu servidor Ubuntu a partir do meu laptop pessoal ("laptop")
  • Também faço login no meu servidor Ubuntu a partir do meu computador de trabalho ("estação de trabalho").

Qual é a maneira certa de fazer isso?

  • Suponho que poderia simplesmente fazer login com a mesma senha em ambos os lugares. Esse não pode ser o caminho certo, porque todo mundo diz que a autenticação com chave pública é muito melhor do que senhas.(a)
  • Suponho que poderia simplesmente copiar a chave privada do meu laptop para a minha estação de trabalho. Esse não pode ser o caminho certo, porque todo mundo diz que a chave privada nunca deve sair da máquina do cliente.

As pessoas têm na cabeça que uma conta em um servidor tem um único nome de usuário e, claro, uma única senha autorizada.

Sistemas de chave pública como o ssh são melhores que o sistema de senha: uma conta em um servidor possui um único nome de usuário equalquer número de chaves públicas autorizadas, todos eles listados no ~/.ssh/authorized_keysarquivo.

(mais detalhes).

Responder2

É possível forçar seu laptop a usar o arquivo-chave, mesmo que a senha e a abordagem baseada em chave estejam disponíveis. Se você estiver se conectando com , edite e adicione:ssh [email protected] -p 22~/.ssh/config

Host your.host.tld
    PreferredAuthentications publickey

Este arquivo de configuração pode ser usado para fazer você digitar ainda menos:

Host home
    Hostname your.host.tld
    User user
    PreferredAuthentications publickey
    Port 22

Com essa configuração, você só precisa do ssh home.

É possível restringir logins baseados em senha a um determinado endereço IP. Em /etc/ssh/sshd_config, você teria uma linha que desabilitava a autenticação baseada em senha: PasswordAuthentication no. Para habilitá-lo para logins de um determinado IP, você poderia usar:

Match Address 12.34.56.78
    PasswordAuthentication yes

Eu sugiro que você use autenticação baseada em chave, mesmo no trabalho. É muito mais seguro do que a autenticação baseada em senha, pois não pode ser submetida a força bruta tão facilmente. Você pode ter várias chaves para a mesma conta, o que não deve ser um problema.

Para diretivas de configuração mais sofisticadas, consulte a página de manual dossh_config(5). (para o lado do servidor, consultesshd_config(5))

Responder3

Não, pelo menos com a configuração que tenho se você ativar a autenticação por senha ele só solicitará a senha se você não tiver uma chave.

Dito isto – eu nunca ativaria a autenticação por senha em um servidor exposto à Internet.

informação relacionada