Você pode usar scp
para copiar para uma máquina remota.
scp <file to upload> <username>@<hostname>:<destination path>
Eu nunca fiz isso antes e estou criando um script de shell bash para fazer isso por mim. Eu também estarei conectando via ssh para fazer algumas coisas (o que eu já sei fazer). Então, talvez haja uma maneira de fazer upload de arquivos via ssh para que eu possa fazer tudo em uma conexão?
Como posso fazer isso?
#!/bin/sh
cd ./files-to-upload
#upload the files
Provavelmente você está procurando SCP ou similar.
#!/bin/bash
cd ./files-to-upload
scp * user@host:/path/to/upload/files/to
é claro que isso deve ser ajustado ao seu gosto. Substitua user @ host pela sua informação real. Você será solicitado a fornecer uma senha para upload.
Se você realmente precisa usar o ssh (em vez do scp), você pode fazer:
for filename in *; do
cat $filename | ssh user@host "cd /path/to/upload/files/to; cat - > $filename"
done
mas scp regular (como tangens sugestão) é a melhor.
scp é a melhor resposta, pois seria criptografada por SSH.
No entanto, se você quiser fazer isso através do ftp padrão, veja o ncftpput. Ele foi projetado especificamente para fazer upload de um arquivo:
NAME ncftpput - Programa de transferência de arquivos da Internet para scripts
SINOPSE ncftpput [opções] arquivos locais do diretório remoto do host remoto ...
curl é um bom programa que lida com vários protocolos.
Quando você usa o comando scp
(cópia segura), ele se conecta ao cliente e, se você não usa Já tenho uma impressão digital salva para o dispositivo host, ele irá pedir-lhe a senha do host, caso contrário, ele deve se conectar automaticamente ao host, eu acredito.
Tags command-line ssh bash ftp