Você pode usar ~/.ssh/config
. É o arquivo de configuração por usuário para SSH (e comandos baseados em SSH como scp
e sftp
). Crie-o, se não existir, e adicione:
Host 192.168.0.42
User "User Name Spaces"
Por exemplo:
Host localhost
User "foo bar"
Então:
$ scp test.txt localhost:
foo bar@localhost's password:
(Eu não tenho um usuário chamado foo bar
, então não consegui terminar o teste.)
Você também pode criar um alias em .ssh/config
:
Host foo
Hostname 192.168.0.42
User "User Name Spaces"
Então você pode fazer convenientemente:
ssh foo
scp file foo:
E evite digitar o endereço IP inteiro.
Uma alternativa, se você tiver tar
disponível nos dois lados:
tar c myfile.txt | ssh "User Name Spaces"@192.168.0.42 tar x
tar
cria um arquivo tar, salvo na saída padrão e canalizado para o SSH, onde se torna a entrada para tar x
, que extrai o arquivo. Você pode usar opções como -C
para alterar o diretório (ou fazer isso como um comando shell antes de tar
: ssh … 'cd foo; tar x
). Você também pode usar a compactação e economizar um pouco em bandwitdh de rede:
tar zc myfile.txt | ssh "User Name Spaces"@192.168.0.42 tar zx