Não, o scp não suporta http:
. Primeiro copie o arquivo para o seu computador usando curl
ou wget
(ou salve-o no navegador) e, em seguida, use scp para copiar de um sistema de arquivos local.
Se você tiver acesso ao shell no servidor B, apenas ssh para o servidor B, execute wget
para extrair o arquivo diretamente. Isso é melhor porque ele usa apenas largura de banda no servidor B e no servidor da Web (caso isso seja importante para você) - veja abaixo uma solução alternativa que usa muito mais largura de banda.
Ou, se por algum motivo você não conseguir baixar o arquivo diretamente para o servidor B, faça algo como:
serverA$ wget --output-document=- http://server:host/directory/my_file.war | \
ssh user@serverB "cat > /path/to/my_file.war"
Isso diz a wget
para buscar a URL para stdout e, em seguida, ssh
enviará os dados para o servidorB e redirecioná-los para um arquivo. Infelizmente, scp
não pode ler um a partir de stdin, então você precisará de acesso shell no serverB para que isso funcione. Observe que, se você fizer isso, usará 2x de largura de banda no servidor A (para extrair o arquivo do servidor da Web e enviá-lo ao servidor B) e usará a largura de banda 1x no servidor da Web e no servidor B.