Estou tentando fazer um arquivo .sh que um cronjob executa ocasionalmente que faz um rsync automático. É assim que meu arquivo parece até agora:
#!/bin/bash
subdir='hostname'
rsync -ah -e 'ssh -p 48180' /home/user/test
[email protected]:/var/www/html/xgplayer/events/"$subdir" -y
Esse é um comando, teve que cortá-lo pela metade porque era muito longo para uma linha.
Eu tenho que definir para criar um subdiretório baseado fora do hostname da máquina (por favor me diga se isso parece bom também, eu estou baseando o código off usado para um propósito ligeiramente diferente) que esse usuário tem acesso a . (Eu apenas chamei o usuário usuário por razões, ignore isso)
Qual é a minha pergunta: será que eles automaticamente concordam em armazenar uma chave ssh como se eu estivesse tentando fazer isso? Além disso, como faço para que ele insira automaticamente uma senha através do comando que estou tentando executar no ssh quando ele tenta se logar como esse usuário para rsync os arquivos? Eu pensei que havia algo como - isso poderia fazer isso. Qualquer ajuda seria apreciada:)
Estou executando o Ubuntu Server 16.04 LTS em ambas as máquinas, se isso ajudar.
Editar: Para não ser super complicado, mas qualquer que seja a solução também tem que ser capaz de ser colocado em um arquivo .sh e rodar sem a entrada do usuário, isso é para uma tarefa muito específica, desculpe.
Editar 2: Fazendo isso como por solicitação de alguém me ajudando, então, infelizmente não posso fornecer capturas de tela, mas ele pede uma senha para um usuário no 10.3.10.110 sempre que eu executar o comando rsync que listei, e sempre que eu executo o ssh-keygen em um novo cliente tentando gerar uma chave para esse usuário nessa máquina. O aplicativo para o qual estou tentando usar requer que isso seja totalmente automatizado, e é por isso que isso é um problema.
Editar 2.5: Depois de executar o keygen e o ssh-copy-id, ele não solicita mais uma senha no rsync, mas isso será implementado em muitas máquinas e, para este projeto, não me importo em colocar aqueles em algum tipo de arquivo .sh de configuração, mas esses comandos requerem entradas que precisariam ser automatizadas para que eu usasse no meu caso específico.
Editar 3: Estou comentando muito porque não tenho representante suficiente para bater papo diretamente com as pessoas que tentam me ajudar, novas para este site ainda.