Preciso fazer backups do banco de dados mariadb da máquina remota. Meu plano é executar
ssh user@remoteip 'mariadb-dump -uuser -ppass --all-databases > backup.sql'
da minha máquina local.
Descobri que as máquinas remotas history
não estão sendo preenchidas com o comando mariadb-dump que acabei de executar. journalctl
também não continha o comando.
Existe algum motivo de segurança no lado remoto com o qual eu deva me preocupar ao passar a senha do mariadb no comando ssh? Existem alternativas melhores?
Sim, isso é muito inseguro.
Durante a execução, qualquer usuário no sistema pode ver a senha em texto simples com
ps aux
.Você deve adicionar um arquivo
~/.my.cnf
para o usuário com permissões 600 e o seguinte conteúdo:Como os usuários do MariaDB e do sistema parecem corresponder, você também pode permitir que o usuário do sistema
user
se autentique como o usuário do MariaDBuser
por meio deunix_socket
:Isso concederá login sem senha como o usuário MariaDB nomeado
user
para o usuário do sistema nomeadouser
(o que pode ser conveniente em geral), deixando para outros usuários do sistema a opção de autenticar como o usuário MariaDB nomeadouser
usando a senhapass
(você pode executar apenasALTER USER 'user'@'localhost' IDENTIFIED VIA unix_socket;
se a última opção for indesejada).Então você poderia executar apenas: