As permissões ~/.ssh/authorized_keys
estão definidas para 0600
e ~/.ssh
para 0700
?
O SSH é muito exigente com permissões nos arquivos.
Eu tenho um arquivo .sh que posso disparar manualmente para executar um backup em um servidor remoto na rede local. Parece assim:
rsync -avzP -e ssh -i /mnt/local/ [email protected]:/DataVolume/shares/NASBackup
Isso requer autorização, e é por isso que criei uma chave pública que armazenei em /mnt/local/.backup/authorized_keys.pub
Eu criei um novo script .sh que contém o seguinte
rsync -avzP 'ssh -i /mnt/local/.backup/authorized_keys -o StrictHostKeyChecking=no' /mnt/local 192.168.9.114:/DataVolume/shares/NASBackup
Ele lança um erro de permissão negada. Especificamente o seguinte:
rsync: change_dir "/mnt/local/.backup//ssh -i /mnt/local/.backup" failed: No such file or directory (2)
sent 12 bytes received 12 bytes 48.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1053) [sender=3.0.9]
./backup-start-new.sh: /mnt/local: Permission denied
O motivo da localização da chave .pub na máquina local que eu tento executar o rsync é que minha pasta de chaves autorizadas não pode ser escrita, então coloquei minhas chaves em outro lugar. No servidor remoto, a chave .pub é colocada em ~ / .ssh / authorized_keys
O principal problema no erro é a permissão negada na pasta / mnt / local que não consigo descobrir. O servidor de origem é um servidor FreeNAS.
As permissões ~/.ssh/authorized_keys
estão definidas para 0600
e ~/.ssh
para 0700
?
O SSH é muito exigente com permissões nos arquivos.
Tags ssh rsync linux public-key freenas