Estou frequentemente me conectando a um servidor remoto via ssh, e tendo que transferir alguns arquivos entre este host remoto e meu PC local. Eu não tenho direitos de administrador naquele servidor, e não sou o único a usá-lo. Os caminhos completos para os arquivos do host podem variar significativamente de arquivo para arquivo e geralmente são bem longos. No entanto, eu geralmente transfiro os arquivos para a mesma pasta local no início. Eu tenho uma configuração de conexão ssh sem senha do meu dispositivo local para o host remoto. Meu "fluxo de trabalho" atual para esta pequena operação usa scp e parece muito ineficiente:
- Geralmente já estou conectado via ssh no local do arquivo relevante no host remoto: costumo
readlink -f
obter o caminho completo do arquivo - Copio o caminho (deixando o teclado clicar)
- Eu mudo para outro terminal no meu computador local e começo a digitar
scp hostname:
- Eu colo o caminho do arquivo (outro clique)
- Termino o
scp
comando com o nome do diretório local e executo
Quando tenho que fazer isso várias vezes para muitos arquivos que não são necessariamente fáceis de incluir todos juntos em um único comando, realmente não parece eficiente. Muitos passos, muita digitação repetitiva e cliques por aí.
O ideal seria um comando mágico scp2local filename
que eu pudesse usar do host remoto para fazer todas essas etapas diretamente em uma e enviá-las para uma pasta local predefinida. Mas não tenho certeza de como configurá-lo. Qualquer coisa que envolva uma configuração de conexão ssh sem senha completa do remoto para meu PC local parece uma péssima ideia, já que todos os outros que usam o servidor poderiam se conectar ao meu dispositivo pessoal. (Mas talvez haja uma maneira de fazer isso explorando o fato de que estou apenas "enviando de volta" arquivos para o dispositivo do qual estou me conectando especificamente?)
Resumindo: Qual é a maneira mais eficiente (em termos de esforço humano) de transferir regularmente alguns arquivos de um host remoto para uma pasta específica do computador local do qual estou me conectando?
NB: Estou usando WSL no meu dispositivo local, o que pode ser relevante para toda a questão de "clicar e copiar"