Je me suis connecté à un système avec ssh et il n'y a aucun scp présent sur les deux systèmes. Comment copier un fichier sans utiliser le programme scp.
rsync
?
ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
Je me suis connecté à un système avec ssh et il n'y a aucun scp présent sur les deux systèmes. Comment copier un fichier sans utiliser le programme scp.
rsync
?
ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
Réponses:
Pour envoyer un fichier:
cat file | ssh ajw@dogmatix "cat > remote"
Ou:
ssh ajw@dogmatix "cat > remote" < file
Pour recevoir un fichier:
ssh ajw@dogmatix "cat remote" > copy
cd /tmp; cat /bin/bash > test; chmod a+x test; diff test /bin/bash; ./test
tout fonctionne bien. Il n'y a rien de magique par nature sur les fichiers binaires. Les deux fichiers de mon exemple sont identiques et ont la même somme de contrôle. Il est vrai que copier-coller depuis une fenêtre de terminal ne fonctionnera pas à cause d'éléments tels que des séquences de contrôle et des caractères non imprimables, mais l'utilisation de canaux comme celui-ci n'approche jamais d'un terminal.
>
les fichiers portant le même nom?
tar
au mélange. tar cvf - /path/*.jpg | ssh foo@bar.com "tar xvf -"
ou quelque chose de similaire devrait fonctionner.
pv file | ssh ajw@dogmatix "cat > remote"
Vous pouvez utiliser xxd
plusieurs citations moche pour copier plusieurs fichiers, ainsi que pour exécuter et exécuter des commandes dessus:
ssh -t foo@bar.com "
echo $'"$(cat somefile | xxd -ps)"' | xxd -ps -r > "'somefile'"
chmod +x somefile
echo $'"$(cat someotherfile | xxd -ps)"' | xxd -ps -r > "'someotherfile'"
chmod +x someotherfile
./somefile
./someotherfile
"
Outre le cat
transfert du fichier vers une télécommande , vous pouvez également utiliser un client SFTP pour transférer les fichiers.
python3 -m http.server
dans le même répertoire avec le fichier désiré - après que vous pouvez curl
ou wget
ou télécharger un fichier avec votre navigateur. Notez qu'avec cette commande en cours, tous vos fichiers du répertoire en cours seront disponibles publiquement, jusqu'à ce que vous appuyiez sur Ctrl+ C.