A sintaxe correta seria algo assim:
scp -P 234 -r ~/local/directory [email protected]:/remote/directory
O código mostrado tenta copiar arquivos da sua máquina local acessados via host local para sua máquina local acessada diretamente
UPDATE: Se você está tentando emitir o comando scp
de uma sessão ssh no host remoto para copiar arquivos de volta para o seu virtualbox Ubuntu, então eu tenho medo que não seja impossível a maioria dos casos - ie é muito provável que a instância virtual do Ubuntu não possa ser conectada do mundo externo a menos que você tenha feito alguma configuração (por exemplo, configurar um adaptador em ponte no sistema operacional host, configurar o encaminhamento de porta no modem etc.). Além disso, o endereço IP que você está tentando usar - 127.0.0.1 - é um endereço de "loopback local" e só é acessível pela mesma máquina. Ou seja Quando você executa o comando no servidor, esse IP refere-se ao servidor.
Então, eu ainda estou sugerindo que você use a sintaxe que mostrei acima - apenas tenha em mente que "local" no comando significa "a máquina na qual você tem uma sessão de terminal aberta", não a máquina física que você está sentado em.
Exemplo: se você deseja copiar um arquivo de um servidor para outro:
# copy a file from local machine to server1.com
user@local-machine# scp ./somefile.txt [email protected]:/home/user2
# copy a file from server1.com to server2.com
user@local-machine# ssh [email protected]
user1@server1# scp ./somefile.txt [email protected]:/home/user2
user@server1# logout
# copy a file from server2.com to server1.com
user@local-machine# ssh [email protected]
user2@server2# ls
somefile.txt otherfile.txt
user2@server2# scp ./otherfile.txt [email protected]:/home/user1
user2@server2# logout
# can't copy a file TO local-machine because it's not accessible from internet