SSH

SSH

Existe alguma maneira de passar uma senha usando .ssh/config? Estou tentando configurar uma maneira de fazer login em um servidor com um usuário específico e depois mudar automaticamente para root quando me conectar (é necessário inserir a senha).

Por enquanto, eu tenho:

Host server
 HostName hostname.server.com
 User not-root
 Port 1234
 RemoteCommand su
  • Eu tenho que usar estas etapas (usuário -> su)
  • Eu tenho que usar esta chave (com senha)

Responder1

Em geral, a maioria dos administradores de sistemas configuraria as coisas para que sua automação não dependesse de senhas.

SSH

Para autenticação SSH, o mais fácil é criar um par de chaves onde a chave privada não seja protegida por senha.

Se você precisar de uma senha na chave SSH privada, adicionar essa chave/senha ao ssh-agent (ou um chaveiro do Mac OSX) é uma ação única, após a qual você não precisará mais ser solicitado a fornecer a senha.

Se isso não for uma opção, usesshpassem seus scripts/comandos, use uma senha/senha da linha de comando

No servidor

Novamente, a solução mais fácil/convencional é evitar a necessidade de inserir uma senha.

Suas opções para isso dependem do nível de controle que você tem

  • configure uma política sudo NOPASSWD (idealmente apenas para o(s) comando(s) relevante(s)) que permitirá que você execute sudo some-command --with argsuma sudo -isessão de login interativa sem inserir uma senha.

  • configure a conta root para logins SSH remotos diretos (não é a melhor solução, mas quando você não permite autenticação por senha, apenas autenticação baseada em chave ...)

  • dependendo da configuração, basta adicionar sua conta a um grupo "sudo", "wheel" ou "admin" e você terá direitos totais de administrador

Quando você realmente deseja enviar uma senha, expecto utilitário para automatizar isso

informação relacionada