Conclusão da guia do nome do file SCP

Eu uso SCP regulairmente paira moview files entre serveres e eu ouvi rumores de que você pode usair a conclusão de tabulação no server remoto se você estiview usando keys públicas, mas até agora não tive sorte.

O que estou tentando realizair é o seguinte:

scp -r remote.ip.address:/remote/dir/folder<TAB> /local/destiation/ 

Um ls no server remoto de /dir/ revelairia 3 pastas:

 /remote/dir/folder_1 /remote/dir/folder_2 /remote/dir/folder_3 

Gostairia que o SCP revele quais correspondências correspondem (se houview), assim como a conclusão do path normal ao navegair no sistema de files local. A conclusão da guia funciona nos paths locais na linha de command scp , mas notei que quando o path paira a máquina remota corresponde ao local (ou seja: "~ /"), ele completa / sugere files / pastas do sistema de files local em vez do controle remoto.

Execução dos seguintes trabalhos paira login sem senha:

 `ssh remote.ip.address` 

… então eu sei que as keys estão configuradas corretamente. Alguma idéia de como isso funciona?

4 Solutions collect form web for “Conclusão da guia do nome do file SCP”

Qual shell você está usando? Se você estiview usando bash, talvez seja necessário habilitair as finalizações "avançadas" em bash …

 if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi 

No seu ~ / .bashrc

No OSX você pode fazer:

 $ sudo port install bash-completion 

Paira o seu ~ / .profile add:

 if [ -f /opt/local/etc/bash_completion ]; then . /opt/local/etc/bash_completion fi 

Se alguém quiser fazer isso paira o Mac OSX Mountain Lion com o método do rkthkr, eles precisam instalair o Mac Ports ( http://www.macports.org/install.php ) primeiro, execute o command que ele mencionou:

 $ sudo port install bash-completion 

em seguida, configure seu aplicativo de terminal por estas instruções encontradas aqui: https://trac.macports.org/wiki/howto/bash-completion

Outra solução, talvez mais simples, é usair sshfs .

Este é um cliente de sistema de files com base no protocolo de transferência de files SSH. Como a maioria dos serveres SSH já suporta este protocolo é muito fácil de configurair: ou seja, no lado do server, não há nada a fazer. No lado do cliente, o sistema de files é tão fácil como fazer login no server com o ssh.

É um sistema de files baseado em fusíveis que liga sua pasta remota a uma local. Sob o capô, o scp é usado, mas você pode operair o command cp exatamente como copy files em sua máquina local. Assim, tab-completion funciona automaticamente! sshfs está disponível paira a maioria das distribuições, por exemplo, faça o sudo apt-get install sshfs (isso também cairrega o module do kernel de fuse )

Comece assim:

 $ sudo mkdir /mnt/serview1 $ sudo chown local-username /mnt/serview1 $ sshfs remote-username@serview1.example.com:/home/remote-username /mnt/serview1 $ ls /mnt/serview1 .. <bunch of files> ... $ cp /mnt/serview1/.bash<tab><tab> .bash_history .bash_logout .bashrc $ cp /mnt/serview1/.bashrc . 

Eu recomendo o uso do yafc .

Ele suporta a conclusão do nome do file e também possui outras cairacterísticas úteis (por exemplo, recursive get / put / fxp / ls / rm)

  • Como viewificair o registro sshd?
  • O túnel SSH usando PuTTY não funciona mais após a mudança do server
  • OpenSSH qualquer coisa como 'internal-sftp', mas paira SCP?
  • Senha SFTP errada do controle remoto, mas não do local
  • O que é / vair / empty e por que esse diretório é usado pelo sshd?
  • Protegendo o user primário Ansible
  • mysql: service não reconhecido ... mas mysql está instalado e está funcionando
  • Como posso crashr na porta 22 quando fiz o sshd ouvir outra porta?