J'ai jeté un coup d'œil sur d'autres questions ici et sur divers tutoriels sur l'utilisation de scp sur Internet, mais je ne peux pas déterminer ce qui ne va pas.
J'utilise Linux Mint et j'essaie de comprendre le fonctionnement de scp .
J'ai un fichier fichier.ext (sur mon ordinateur) dans le répertoire / home / nom / répertoire /
Je me connecte à une machine distante à l'aide de ssh , comme:
ssh -p 2222 username@domain
il me demande le mot de passe et le shell affiche:
username@domain ~ $
maintenant, si je lance la commande (avant d’exécuter ssh, j’étais dans le répertoire local / home / name / dir ):
scp -r -P 2222 file.ext username@domain
la sortie est:
cp: cannot stat ‘file.ext’: No such file or directory
Même résultat si au lieu de fichier.ext j'écris le chemin complet
scp -r -P 2222 /home/name/dir/file.ext username@domain
De plus, l'administrateur du serveur m'a dit que je téléchargerais le fichier dans mon répertoire personnel distant (au lieu de root), comme suit:
scp -r -P 2222 file.ext username@domain:~/
mais quand je le fais et appuie sur "Entrée" rien ne se passe, comme si le shell attendait une entrée supplémentaire.
Résumé de mes problèmes:
- cp: aucun fichier ou répertoire de ce type
- coquille "collée" sur ~ /
Aucune suggestion?
scp
, le côté distant doit toujours contenir les deux points (par exemple remotehost:/tmp
), sinon il ne fera qu'une copie ordinaire ( scp /tmp/foo.txt example.com
sera copié /tmp/foo.txt
dans un fichier local example.com
)
-r
indicateur, car cela n'est pas nécessaire pour la copie de fichiers individuels (il est utilisé pour copier des répertoires de manière récursive )
localuser@machineA: ssh -p 2222 username@domain
(pour indiquer que vous exécutez la commande ssh en tant qu'utilisateur local sur la machineA)