GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter SSH et SCP en mode batch (uniquement lorsque la connexion sans mot de passe est activée)

Lorsque la connexion sans mot de passe est activée, vous pouvez soit utiliser SSH pour exécuter une commande en mode batch sur une machine distante, soit utiliser SCP pour copier des fichiers depuis/vers la machine distante.

S'il y a des problèmes avec la connexion sans mot de passe, votre programme de traitement par lots peut se retrouver dans une boucle ou un délai d'attente.

Dans cet article, voyons comment demander à ssh/scp d'effectuer l'opération uniquement si vous pouvez le faire sans attendre le mot de passe.

Avant d'essayer ceci, assurez-vous que la connexion sans mot de passe est configurée entre votre local hôte et hôte distant.

1. ssh -o "BatchMode oui" Exemple d'utilisation

Si vous avez activé la connexion sans mot de passe, l'exemple suivant se connectera à l'hôte distant et exécutera la commande who sans demander le mot de passe.

local-host# ssh ramesh@remote-host who

Si la connexion sans mot de passe n'est pas activée, il demandera le mot de passe sur l'hôte distant comme indiqué ci-dessous.

local-host# ssh ramesh@remote-host who
ramesh@remote-host's password: 

Si vous utilisez ssh -o "BatchMode yes", alors il ne fera ssh que si la connexion sans mot de passe est activée, sinon il renverra une erreur et continuera.

local-host# ssh -o "BatchMode yes" ramesh@remote-host Command

Exécution de la commande en mode batch à l'aide de SSH - cas de réussite

local-host# ssh -o "BatchMode yes" ramesh@remote-host who
..
[Note: This will display the output of remote-host's who command]

Exécution de la commande en mode batch à l'aide de SSH — Cas d'échec

local-host# ssh -o "BatchMode yes" ramesh@remote-host who
Permission denied (publickey,password).

Remarque : Si vous n'avez pas utilisé -o "BatchMode yes", la commande ci-dessus aurait demandé le mot de passe de mon compte sur l'hôte distant. C'est la principale différence dans l'utilisation de l'option BatchMode yes.

2. scp -B option Exemple d'utilisation

Si vous utilisez l'option scp -B, il n'exécutera scp que si la connexion sans mot de passe est activée, sinon il se fermera immédiatement sans attendre le mot de passe.

$ scp -B file root@IP:PATH

SCP en mode batch – Cas réussi

local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp
yp.conf            100%   84     0.1KB/s   00:00

SCP en mode batch – Cas d'échec

Dans cet exemple, si scp est possible sans authentification, la commande s'exécutera sinon elle se terminera comme indiqué ci-dessous.

local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp
Permission denied (publickey,password).
lost connection

Linux
  1. Comment configurer la connexion SSH sans mot de passe

  2. Comment configurer une connexion SSH sans mot de passe sous Linux

  3. Comment configurer les clés SSH pour une connexion ssh "sans mot de passe" sous Linux

  4. Comment configurer les clés SSH pour une connexion SSH « sans mot de passe » sur CentOS/RHEL

  5. Comment exécuter à distance la commande ssh une commande sudo sans mot de passe

Comment configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8

Comment configurer une connexion SSH sans mot de passe à l'aide de ssh-keygen ?

Comment configurer la connexion sans mot de passe SSH dans Rocky Linux

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux

Effectuer SSH et SCP sans entrer de mot de passe sur openSSH

Astuces Ubuntu :comment se connecter sans saisir de nom d'utilisateur ni de mot de passe