Transfert de fichier par le terminal via SSH

Résolu
Bonjour,

comme le titre l'indique je suis occupé à faire des transferts de fichiers sur mon réseau local avec le terminal.; Mes deux pc sont sous ubuntu 8.04 et j'utilise la commande scp pour copier des fichiers? Jusque qu'ici pas de problèmes.

Sur mon pc de bureau j'ai rentré la commande suivante
 scp -r syhlar-laptop:PDF /home/syhlar/Public/


Mes deux pc ont le même login

tout a bien focntionné sauf que je pensais que j'allais copier le fichier PDF sur le pc de bureau et non sur le laptop. (cette commande copie le fichier sur le laptop)....

Comment faire pour copier un dossier depuis un pc distant????

Merci d'avance
Configuration: Linux
Firefox 3.0.1

56 réponses

Résumé de la discussion

La question porte sur l'utilisation de SCP pour copier un répertoire entre deux ordinateurs Ubuntu 8.04 via le réseau local, avec la confusion entre copie locale et distante. Des solutions essentielles expliquent que SCP se base sur la syntaxe source-destination et que l'option -r permet la copie récursive des répertoires. Pour copier du distant vers local, la forme générale est scp -r compte@machine_distante:/chemin/du/repertoire /chemin/local/; pour l'inverse, scp -r /chemin/local compte@machine_distante:/chemin/destination/ suffit, avec des chemins éventuellement relatifs. Des exemples pratiques montrent que des chemins corrects et l'existence du répertoire distant sont cruciaux, et que l'erreur not a regular file peut venir d'un chemin mal formulé ou d'une destination inappropriée.

Bobot (l’IA à votre service)
  1. Modérateur
    Salut,

    d'abord il faut que le pc distant soit server ssh

    la syntaxe de scp (ce n'est pas obligatoire d'utiliser les chemins absolus ;-) peut être

    depuis machine locale vers machine distante
    scp /chemin/vers/fichier compte@machine_distante:/chemin/absolu/vers/repertoire
    ou depuis machine distante vers machine locale
    scp  compte@machine_distante:/chemin/absolu/vers/fichier /chemin/vers/repertoire/destination/
    50
    1. très clair...bien expliqué:
      0
  2. Modérateur
    Re,

    tu veux copier un répertoire et pas un fichier donc il faut utiliser l'option -r

    man scp
         -r      Recursively copy entire directories.
    donc tu dois faire
    scp -r /home/syhlar/ syhlar-laptop:PDF
    en supposant bien sûr que sur la machine distante tu as un répertoire /home/syhlar-laptop/PDF
    sinon il suffit de faire
    scp -r /home/syhlar/ syhlar-laptop:
    --
    106485010510997108
    5
    1. Salut,

      en fait quand je pense que j'ai pas bien compris quelque chose. J'ai deux pc (on va les appeler A et B). Depuis l'ordinateur "A" j'ai introduis la commande suivante

      ssh 192.168.1.20


      Après demande de mon code j'ai le terminal de mon pc "B" devant moi. Je sais naviguer sur le pc "B". Ce que j'aimerais faire, c'est copier un répertoire sur l'ordinateur "A" (celui sur lequel je suis physiquement ) qui se trouve sur l'ordinateur "B".

      J'ai essayé les commandes ci-dessus et ça ne fonctionne pas...

      Merci d'avance
      5
      1. Modérateur
        scp -r /home/syhlar/ syhlar@192.168.1.20:/chemin/
        5
        1. Modérateur
          Salut,

          il m'a embrouillé ;-))
          j'ai oublie la machine ;-)
          -1
        2. Modérateur
          @lami20jJ'ai vu, d'où mon désembrouillage ;-))
          0
      2. Salut,

        quand je fais ça depuis la machine locale vers la distante (je veux copier un fichier sur ma machine locale qui est sur la machine distante)...

        voici la commande et son résultat :

        syhlar@syhlar-laptop:~$ scp /home/syhlar/ syhlar-laptop:PDF
        syhlar@syhlar-laptop's password: 
        /home/syhlar: not a regular file
        syhlar@syhlar-laptop:~$ 
        


        J'ai du loupé quelque chose dans les explications
        3
        1. Modérateur
          scp -r /home/syhlar/ syhlar@ton_adresse.dyndns.org:/chemin
          3
          1. salut,

            la syntaxe de scp (ce n'est pas obligatoire d'utiliser les chemins absolus ;-) peut être

            je confirme que ce n'est pas obligatoire ! mais c'est pas plus mal ! :-)
            2
            1. Parfait j'ai bien compris comment faire mais maintenant j'aimerais savoir comment faire la même chose mais en passant par internet ( là je suis en locale) un peu comme avec VNC quand je prend contrôle de mon pc depuis mon travail...

              J'utilise un compte dyndns et je ne vois pas...
              2
              1. Modérateur
                Re,

                la machine, peut être un IP ou un nom de domaine
                si ton dyndns fonctionne alors tu n'as qu'à écrire

                compte@ton_nom_dyndns.rog au lieu de compte@ton_ip_local
                0
            2. ok j'ai bien compris quel compte utiliser mais pour m'y connecter j'ai fait ça

              ssh syhlar@mon_compte.dynsns.org


              et rien ne se passe....

              Avez-vous une explication (je sais ça fait beaucoup!!!) ou encore un tuto???

              Merci d'avance pour vos interventions....

              Mon compte dyndns fonctionne avec VNC
              2
              1. Modérateur
                Pour voir les message fait
                ssh -v syhlar@mon_compte.dynsns.org
                Mais je pense que tu passes par un routeur, et que tu n'as pas spécifié à ton routeur l'ip local du PC qui fait le ssh
                2
                1. Modérateur
                  As-tu un routeur ?
                  Un pare-feu ?
                  Le port ssh (22) est-il redirigé vers le PC de destination ?
                  2
                  1. syhlar@syhlar-laptop:~$ ssh -v syhlar@syhlar.dindns.org
                    OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
                    debug1: Reading configuration data /etc/ssh/ssh_config
                    debug1: Applying options for *
                    debug1: Connecting to syhlar.dindns.org [11.111.11.11] port 22.


                    à partir d'ici ça bloque
                    2
                    1. Modérateur
                      Euh... c'est dYndns et non dIndns !!!
                      0
                    2. Modérateur
                      @jipicyBen, je pense qu'il pensais à dind(e)ns ;-DD
                      0
                    3. Modérateur
                      @lami20j;-DDDD
                      0
                  2. oui je sais j'ai changer c'est mon coté parano...
                    2
                    1. Modérateur
                      De toutes façons y'a un os quand même :
                      ssh: syhlar.dyndns.org: Name or service not known
                      ;-((
                      2
                      1. Là, je comprend pas ce que tu veux dire !!!
                        1
                        1. Modérateur
                          Je pensais que tu n'avais fait qu'une faute dans le nom de "dyndns" et non pas changé tout le nom, donc c'est normal que j'ai cette erreur depuis chez moi vu que le nom n'existe pas ;-))
                          0
                      2. Modérateur
                        Tu ne réponds pas aux questions posées dans le message N° 14
                        1
                        1. Ha ok,

                          oui j'ai un routeur mais c'est quoi le port 22???

                          J'ai configurer mon pc avec le port 5800-5901 pour VNC, je dois faire la même chose avec le port 22???
                          1
                          1. Modérateur
                            Yes.
                            0
                          2. Modérateur
                            Oui au niveau du routeur ;-))
                            0
                        2. YES!!!

                          merci beaucoup à vous deux pour vos explications et votre patience...
                          1
                          1. J'ai encore deux dernière question. Avec SSH, on compte dyndns fonctionne aussi, c'est grâce au client que j'ai installé pour VNC?

                            Y'a-t'il une interface graphique pour transférer les fichiers?
                            1
                            • 1
                            • 2
                            • 3