Eu tenho duas máquinas, laptop e servidor. Ambos originam /etc/bash_completion
em .bashrc
.
O que funciona:
server$ scp file laptop:~/stage/[tab][tab]
server$ scp laptop:~/stage/[tab][tab] .
server$ rsync -r folder laptop:~/stage/[tab][tab]
O que não funciona
laptop$ scp file server:/data/[tab][tab]
laptop$ scp server:/data/[tab][tab] .
laptop$ rsync -r folder server:/data/[tab][tab]
O laptop está executando o Ubuntu 16.04 e o servidor está executando o 18.04.
servidor
rsync versão 3.1.2
scp/ssh não pega --version
computador portátil
rsync versão 3.1.1
scp/ssh não pega --version
Ambas as máquinas têm a chave pública da outra e o ssh (assim como as transferências rsync/scp reais) funcionam sem senha. Claramente, tudo está configurado como funciona de uma maneira, mas não consigo descobrir o que estaria causando a falha na outra direção?
Eu encontrei a solução - o
bash-completion
pacote nunca foi instalado no laptop.É um problema enganoso, porque na
.bashrc
fonte do arquivo está correto e não gera erro. No entanto, o arquivo nunca existiu.O bashrc verifica, no entanto, para /usr/share/bash-completion/bash_completion que existe. Por que não funciona, eu não sei.
sudo apt install bash-completion
corrige o problema.