
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, usesshpass
em 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 args
umasudo -i
sessã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, expect
o utilitário para automatizar isso