Como sincronizar arquivos/diretórios usando o RSYNC com porta ssh não padrão

Como sincronizar arquivos/diretórios usando o RSYNC com porta ssh não padrão

Hoje, discutiremos sobre como sincronizar arquivos usando o RSYNC com porta SSH não padrão. Você pode se perguntar por que precisamos usar porto ssh não padrão? É por motivos de segurança. Todo mundo sabe 22 é a porta padrão do SSH.

Arquivos rsync por porta não padrão ssh

Portanto, é obrigatório alterar seu número de porta padrão SSH para algo diferente que é muito difícil de adivinhar. Nesses casos, como você sincronizará seus arquivos/pastas com seu servidor remoto? Não se preocupe, não é tão difícil. Aqui veremos como sincronizar arquivos e pastas usando o RSYNC com porta ssh não padrão.

Como você deve saber, rsync, também conhecido como Sincronização remota, é uma ferramenta rápida, versátil e poderosa que pode ser usada para copiar e sincronizar arquivos/diretórios de hosts locais para locais ou locais a remotos. Para mais detalhes sobre o RSYNC, verifique as páginas do homem:

# homem rsync 

Ou consulte nosso guia anterior do link abaixo.

  1. Rsync: 10 exemplos práticos do comando rsync no Linux

Altere a porta SSH para porta fora do padrão

Como todos sabemos, por padrão o RSYNC usa a porta SSH padrão 22 para sincronizar arquivos sobre hosts locais para remotos e vice -versa. Devemos alterar a porta SSH do servidor remoto para apertar a segurança.

Para fazer isso, abra e edite a configuração SSH /etc/ssh/sshd_config arquivo:

# vi/etc/ssh/sshd_config 

Encontre a seguinte linha. Descomamento e altere o número da porta de sua escolha. Eu recomendo que você escolha qualquer número que seja muito difícil de adivinhar.

Verifique se você está usando um número exclusivo que não é usado pelos serviços existentes. Verifique este artigo do NetStat para saber quais serviços estão em execução sobre quais portas TCP/UDP.

Por exemplo, aqui eu uso o número da porta 1431.

[…] Porta 1431 […] 

Salve e feche o arquivo.

Em sistemas baseados em RPM, como RHEL, CENTOS, e Scientific Linux 7, Você precisa permitir a nova porta através do seu firewall ou roteador.

# firewall-cmd --add-port 1431/tcp # firewall-cmd --add-port 1431/tcp --permanente 

No RHEL/CENTOS/Linux Scientific 6 e acima, você também deve atualizar Selinux permissões para permitir a porta.

# iptables -a rh -firewall -1 -input -m state -estate novo -m tcp -p tcp - -dport 1431 -j aceita # semanage porta -a -t ssh_port_t -p tcp 1431 

Finalmente, reinicie o serviço SSH para entrar em vigor as mudanças.

# SystemCtl reinicie o sshd [on Systemd] Ou # serviço sshd reiniciar [em Sysvinit] 

Agora vamos ver como sincronizar arquivos usando o rsync com porta não padrão.

Como fazer rsync com porta ssh não padrão

Execute o seguinte comando do terminal para sincronizar arquivos/pastas usando RSYNC com porta SSH não padrão.

Sintaxe:
# rsync -arvz -e 'ssh -p '--Progress - -Delete [Email Protected]:/Path/to/Remote/Folder/Path/To/Local/Pasta 

Para os fins deste tutorial, usarei dois sistemas.

Detalhes do sistema remoto:

Endereço IP: 192.168.1.103 Nome do usuário: Tecmint Sync Pasta: /backup1 

Detalhes do sistema local:

Sistema Operacional: Ubuntu 14.04 Endereço IP da área de trabalho: 192.168.1.100 pasta de sincronização:/home/sk/backup2 

Vamos sincronizar o conteúdo do servidor remoto /backup1 pasta para a pasta do meu sistema local /home/sk/backup2/.

$ sudo rsync -arvz -e 'ssh -p 1431' --progress - -delete [email protegido]:/backup1/home/sk/backup2 
Saída de amostra
[Email Protected] Senha: recebendo backup de arquivos incrementais1/ backup1/ linux-headers-4.3.0-040300-GENERIC_4.3.0-040300.201511020949_amd64.Deb 752.876 100% 13.30MB/S 0:00:00 (XFR#1, TO-CHK = 2/4) Backup1/Linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.Deb 9.676.510 100% 12.50MB/S 0:00:00 (XFR#2, TO-CHK = 1/4) Backup1/Linux-Image-4.3.0-040300-GENERIC_4.3.0-040300.201511020949_amd64.Deb 56.563.302 100% 11.26MB/S 0:00:04 (XFR#3, TO-CHK = 0/4) enviou 85 bytes recebidos 66.979.455 bytes 7.050.477.89 Bytes/s Tamanho total é 66.992.688 A aceleração é 1.00. 

Vamos verificar o conteúdo de /backup1/ pasta no servidor remoto.

$ sudo ls -l /backup1 / 
Saída de amostra
Total 65428 -RW-R-R-- 1 raiz da raiz 9676510 9 de dezembro 13:44 Linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.Deb -rw-r-r-- 1 raiz 752876 9 de dezembro 13:44 Linux-headers-4.3.0-040300-GENERIC_4.3.0-040300.201511020949_amd64.Deb -rw-r-r-- 1 raiz 56563302 9 de dezembro 13:44 Linux-Image-4.3.0-040300-GENERIC_4.3.0-040300.201511020949_amd64.Deb 

Agora, vamos verificar o conteúdo de /backup2/ Pasta do sistema local.

$ ls/home/sk/backup2/ 
Saída de amostra
backup1 

Como você vê na saída acima, o conteúdo de /backup1/ foram copiados com sucesso para o meu sistema local /home/sk/backup2/ diretório.

Verificar /backup1/ Conteúdo da pasta:

$ ls/home/sk/backup2/backup1/ 
Saída de amostra
Linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.Deb Linux-Image-4.3.0-040300-GENERIC_4.3.0-040300.201511020949_amd64.Deb Linux-headers-4.3.0-040300-GENERIC_4.3.0-040300.201511020949_amd64.Deb 

Veja, as pastas do sistema remoto e local têm os mesmos arquivos.

Conclusão

A sincronização de arquivos/pastas usando o RSYNC com SSH não é apenas fácil, mas também método rápido e seguro. Se você está atrás de um firewall que restringe o porto 22, não se preocupe. Basta alterar os arquivos de porta e sincronização padrão como um profissional.