Ho effettuato l'accesso a un sistema con ssh e su entrambi i sistemi non è presente scp. Come copiare un file senza usare il programma scp.
rsync
?
ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
Ho effettuato l'accesso a un sistema con ssh e su entrambi i sistemi non è presente scp. Come copiare un file senza usare il programma scp.
rsync
?
ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
Risposte:
Per inviare un file:
cat file | ssh ajw@dogmatix "cat > remote"
O:
ssh ajw@dogmatix "cat > remote" < file
Per ricevere un file:
ssh ajw@dogmatix "cat remote" > copy
cd /tmp; cat /bin/bash > test; chmod a+x test; diff test /bin/bash; ./test
tutto funziona bene. Non c'è nulla di intrinsecamente "magico" nei file binari. Entrambi i file nel mio esempio sono comparati identici e hanno lo stesso checksum. È vero che copiare e incollare da una finestra del terminale non funzionerà a causa di cose come sequenze di controllo e caratteri non stampabili, ma usando pipe come queste queste non si avvicinano mai ad un terminale.
>
a file con lo stesso nome?
tar
al mix. tar cvf - /path/*.jpg | ssh foo@bar.com "tar xvf -"
o qualcosa di simile dovrebbe funzionare.
pv file | ssh ajw@dogmatix "cat > remote"
È possibile utilizzare xxd
e alcune brutte citazioni per copiare su più file, nonché eseguire comandi su di essi ed eseguirli:
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
"
Oltre a eseguire il piping del file su un telecomando cat
, potresti anche essere in grado di utilizzare alcuni client SFTP per trasferire i file.
python3 -m http.server
nella stessa directory con il file desiderato, dopodiché puoi curl
o wget
o scaricare un file con il tuo browser. Si noti che con quel comando in esecuzione tutti i file dalla directory corrente saranno disponibili pubblicamente, fino a quando non si preme Ctrl+ C.