J'essaie de copier une archive .tar du serveur distant sur mon PC.
Répertoire de l'archive que je veux copier:
canserhan@embserv:~/tar_files/rtl_archive.tar
Destination:
serhan@serhan-Lenovo-B560:~/Documents$
Je me connecte au serveur distant et utilise la commande:
canserhan@embserv:~/tar_files$ scp canserhan@embserv:~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~Documents$
Password:
ssh: serhan-Lenovo-B560: Name or service not known
lost connection
canserhan@embserv:~/tar_files$
Il doit y avoir quelque chose qui ne va pas avec la syntaxe scp que j'utilise. Cependant, je ne pouvais pas le comprendre. Pourrais-tu m'aider s'il te plaît?
Merci.
En règle générale, si vous voulez envoyer quelque chose au serveur distant via scp:
scp some_files.tar user@remoteHost:
scp some_files.tar user@remoteHost:Documents/newname.tar
Mais si vous voulez télécharger quelque chose:
scp user@remoteHost:Documents/foo.tar ~/Desktop
scp user@remoteHost:/any/other/dir/foo.tar .
De la page de manuel scp:
-3 Copies between two remote hosts are transferred through the local Host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter.
Je suggérerais que le problème est que votre machine embserv
ne peut pas "voir" votre autre machine serhan-Lenovo-B560
, ou, si cela est possible, elle ne peut pas résoudre le nom.
Lorsque vous appelez scp avec deux machines distantes, ce qu'il essaie réellement de faire est quelque chose semblable à ceci:
ssh canserhan@embserv "scp ~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~Documents$"
C'est une bonne chose car cela signifie que la copie sera plus efficace, mais cela nécessite que scp de la machine A à la machine B fonctionne, ce qui ne sera pas toujours le cas.
Si tel est le problème, vous pouvez le résoudre en utilisant -3
, ou en transmettant l'adresse IP numérique de serhan-Lenovo-B560
(si le nom est le problème), ou en corrigeant votre configuration ssh sur embserv
afin qu'il puisse atteindre serhan-Lenovo-B560
.
EDIT:
Alors, essayez ceci:
scp canserhan@embserv:~/tar_files/rtl_archive.tar [email protected]:~Documents$
où xxx.xxx.xxx.xx
est l'adresse IP de votre serveur.
ou, si cela échoue, cela devrait fonctionner, mais fonctionnera plus lentement:
scp -3 canserhan@embserv:~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~Documents$
À propos, ~Documents$
a également l’air faux. Êtes-vous sûr que cela ne devrait pas être ~/Documents
?
Essayez la commande:
scp ~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~/Documents/
embserv
est votre machine locale. Si vous écrivez scp server1:/path/to/file server2:/path/to/second/file
, ceci ordonne à scp
de copier un fichier d'un serveur à un autre. Si vous souhaitez copier un fichier local sur un serveur ou inversement, ignorez simplement les deux points :
et le nom de l'ordinateur. De plus, ~
doit être suivi d'une barre oblique dans votre cas. ~
se traduit par /home/username/
.
Je crois que vous n’avez pas de DNS sur votre réseau. On dirait qu’il ne peut pas résoudre votre nom serhan-Lenovo-B560
Vous pouvez essayer une chose, il suffit de taper l'adresse IP de l'extrémité distante.
$ scp canserhan@embserv:~/tar_files/rtl_archive.tar serhan@<remote-ip>:~Documents
De plus, essayez de donner le chemin complet/absolu au lieu de ~
.