Comment copier un fichier sans utiliser scp dans une session ssh?
55
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.
Est-ce que netcat (nc) est présent sur les deux systèmes? Si c'est le cas, utilisez votre session ssh pour tunneler un port TCP et utilisez nc sur ce port.
Avez - vous rsync?
Slhck
3
vous pouvez aussi faire ceci:ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
n. «pronoms» m.
@nm quotes required (pour moi, serveur ubuntu)
Ivan Black le
@nm ne fonctionne pas pour moi - le fichier est corrompu (je suppose que le message de connexion le casse).
@ggg ce n'est pas vrai du tout. cd /tmp; cat /bin/bash > test; chmod a+x test; diff test /bin/bash; ./testtout 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.
Flexo
@Flexo J'ai besoin de quelque chose comme ça, la seule exception est que je dois diriger tous les jpg d'un dossier. Comment faire pour parcourir / storage / sdcard1 / * jpg et >les fichiers portant le même nom?
+1 mais il convient de noter que l'OP tente d'éviter SCP car il n'existe pas sur les systèmes. Compte tenu de cette contrainte, il est également probable qu'un serveur FTP doit exister du côté du destinataire, ce qui rend le processus de copie dépendant d'un logiciel autre que celui utilisé habituellement par défaut.
Paul Sasik
-1
python3 -m http.serverdans le même répertoire avec le fichier désiré - après que vous pouvez curlou wgetou 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.
rsync
?ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
Réponses:
Pour envoyer un fichier:
Ou:
Pour recevoir un fichier:
la source
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 [email protected] "tar xvf -"
ou quelque chose de similaire devrait fonctionner.pv file | ssh ajw@dogmatix "cat > remote"
Essaye ça:
la source
Vous pouvez utiliser
xxd
plusieurs citations moche pour copier plusieurs fichiers, ainsi que pour exécuter et exécuter des commandes dessus:la source
Outre le
cat
transfert du fichier vers une télécommande , vous pouvez également utiliser un client SFTP pour transférer les fichiers.la source
python3 -m http.server
dans le même répertoire avec le fichier désiré - après que vous pouvezcurl
ouwget
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.la source