Envoyer le mot de passe en script ssh

2

J'ai fait un script appelé sshconnect pour certains utilisateurs, cela prend 2 variables, usertype et sitenumber afin que les utilisateurs utilisent le script pour ssh à ce sitenumber avec le type d'utilisateur.

Par exemple, l'utilisateur tapez ce qui suit: sshconnect read@11 et le script laissera l'utilisateur ssh au numéro de site 11 (mappé sur une adresse IP) avec le nom d'utilisateur lu.

mais lorsque cela se produit, l'utilisateur se connecte à ce site et est invité à saisir le mot de passe correspondant au nom d'utilisateur lu. Mais je ne veux pas que l'utilisateur connaisse ou entre le mot de passe lui-même, laissez plutôt le script envoyer le mot de passe.

Est-il possible d'envoyer le mot de passe dans le script?

Merci, Peter

Peter Hayek
la source

Réponses:

2

Il y a différentes possibilités. Vous pouvez utiliser expect script ou simple sshpass, mais le mot de passe sera écrit dans le script lui-même pour que l'utilisateur puisse le lire à partir de là (ce n'est pas une sécurité).

En bref:

sshpass -p password ssh user@host

La meilleure solution est l'authentification sans mot de passe à l'aide d'une paire de clés.

En bref, vous allez créer une nouvelle paire de clés, la stocker sur le serveur et l'intégrer dans votre script:

ssh-keygen -t rsa -f key_file -P '' # prepare the key pair
ssh-copy-id user@host               # enter the password once
ssh -i key_file user@host           # logs in without password
Jakuje
la source