Problème mot de passe pour commande SCP

Bonjour à tous,

J’ai besoin de vos services car je suis un peu perdu :slight_smile: . Je possède un script qui dois transférer deux fichiers entre deux P.C. dit “sûrs”. J’ai mis en place une connexion SSH sans mot de passe (certificat). Je pensais pouvoir utiliser la commande SCP sans mot de passe mais cette dernière me le demande quand même.

Existe t il un moment de me permettre de faire un transfert de fichier sans mot de passe.

Merci par avance.

Gudbes

As tu tenter l’option “-i” de SCP (voir le man scp) ?
Elles doit probablement s’utiliser comme l’option “-i” de SSH.

Serait-il possible d’avoir le contenu de ce script ?

D’une manière plus générale, avant même d’écrire un script « pour transférer deux fichiers entre deux PC », avez-vous essayé pas à pas d’effectuer cette opération en lançant les commandes une à une ?

Je suppose que par « sans mot de passe » vous voulez dire que vous utilisez le mécanisme d’un agent ( man ssh-agent ) qui permet d’automatiser une connexion ssh sans donner explicitement de mot de passe, c’est l’agent qui répond à la demande de phrase de passe (passphrase) à votre place.

Oui :slight_smile:

Et pour expliquer ce moyen, donnez la sortie des commandes suivantes sur le système client qui initie le copie scp
env | fgrep SSH ssh-add -l

Il y a tellement d’options aux commandes ssh et scp que sans voir le contenu du script et son environnement qu’il est impossible de donner un conseil avisé.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

Rebonjour à tous,

Je tiens tout d’abord à m’excuser de mon retard pour les réponses à vos questions …

  • Voila le bout de script en question :

      # transfert du certificat via scp
      sudo scp -P 22 /etc/letsencrypt/live/test.com/server.key user@192.168.1.248:/home/user/Certificats/server.key
      sudo scp -P 22 /etc/letsencrypt/live/test.com/server.crt user@192.168.1.248:/home/user/Certificats/server.crt
    
  • Sinon pour la partie sans mot de passe, si ma mémoire est bonne, j’avais mis en place un système avec clé publique, clé privée

  • Voici les infos des commandes demandées : par contre je n’ai pas bien compris : “le système client qui initie la copie” pour ma part c’est le côte source (serveur) sur lequel se lance la copie (vers la destination). Je transmet donc les infos à partir de la machine où s’exécute la commande (le “serveur”).

      $ env | fgrep SSH
      SSH_AGENT_PID=4509
      SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
    
      $ssh-add -l
      2048 ce:db:76:b3:26:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx utilisateur@SERVER (RSA)
      1024 88:ce:c7:c2:e5:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx utilisateur@SERVER (DSA)
    

Voila pour les infos.

Merci de votre aide

gudbes

En fait, c’est la machine qui exécute ton script qui doit accéder à l’autre et qui lance la copie.

Merci @Almtesh pour ton explication. Donc concretement, si j’ai bien compris je dois mettre en place le système de clé publique / clé privée sur le poste client (celui ou va être copié les fichiers). Est bien cela ?

Merci

gudbes