web-dev-qa-db-fra.com

Comment puis-je scp via SSH?

J'ai une machine Linux (télécommande) et une machine Mac (locale). Notre administrateur système a configuré une méthode "ssh", dans laquelle je peux ssh de mon Mac, à ma machine Linux, via cette commande sur mon Mac:

ssh [email protected] -p 12345

Lorsque je le fais, je suis invité à mettre le mot de passe de ma machine Linux, et quand je le fais, j'ai accès, ce qui est génial.

Ce que je veux faire maintenant, est peut-être capable de scp de ma machine Mac, à ma machine Linux, de sorte que je puisse transférer des fichiers sur. Comment je fais ça? J'ai googlé autour mais je ne suis pas sûr de quoi faire.

Merci

7
TheGrapeBeyond

Pour copier de À DISTANCE à LOCAL :

scp -P 12345 user@server:/path/to/remote/file /path/to/local/file

Pour copier à partir de [~ # ~] local [~ # ~ ~] à À DISTANCE :

scp  -P 12345 /path/to/local/file user@server:/path/to/remote/file

Remarque: le commutateur pour spécifier le port pour scp est -P à la place de -p

Si vous souhaitez copier tous les fichiers d'un répertoire, vous pouvez utiliser des caractères génériques comme ci-dessous:

scp -P 12345 user@server:/path/to/remote/dir/* /path/to/local/dir/

ou même

scp -P 12345 user@server:/path/to/remote/dir/*.txt /path/to/local/dir/
11
jesse_b

Vous devriez utiliser quelque chose comme ça

scp -P 12345 -p some_file [email protected]:

Cela copiera some_file Pour votre répertoire de maison sur le serveur distant. Changez le nom ou le chemin en mettant l'alternative immédiatement après le : (pas d'espace). Échangez les arguments pour revenir au système local.

Les -P 12345 équivalent à votre -p 12345 et le -p Flag indique scp pour maintenir les horodatages et les autorisations pour le fichier de destination.

4
roaima

Si vous le faites fréquemment, je vais suggérer d'ajouter une configuration dans le fichier ~/.ssh/config

ajouter les lignes suivantes

Host highlabs
   Hostname gateway.highlabs.co
   User marcus
   Port 12345

Ensuite vous pouvez

ssh highlabs

ou

scp highlabs:/path/to/file /local/path/to/file

pour copier du serveur

ou

scp /local/path/to/file highlabs:/remote/path/to/file

pour copier sur le serveur

Si vous utilisez la touche Auth Attribution de l'onglet Touche fonctionne le tout, par exemple ssh hi<tab> finira le mot et scp highlabs:/et<tab> va développer/etc après avoir vérifié les fichiers sur le serveur distant

3
exussum