Automatiser SSH sans l'aide de l'authentification par clé publique ou attendre(1)
Est-il un moyen de transmettre un mot de passe ssh automatiquement. Je voudrais automatiquement ssh à un serveur sans utilisation de l'authentification par clé publique ou de s'attendre à des scripts, en quelque sorte prise en ssh pour lire le mot de passe à partir de stdin ou un fichier.
La raison pour laquelle il faut, c'est que je voudrais sauvegarder mes fichiers sur un serveur à l'aide de rsync/ssh exécution d'une tâche cron. Ce serveur monte mon répertoire home après il authentifie moi, donc à l'aide de la clé publique d'authentification ne fonctionne pas depuis ~/.ssh n'est pas disponible jusqu'à ce que après la connexion est réussie. attendre(1) est hors de question, car j'aimerais exécuter une tâche cron, et depuis cron jobs ne pas exécuter dans un terminal la combinaison d'attendre/ssh ne fonctionne tout simplement pas. Je n'ai pas accès à la racine de ce serveur, et il serait difficile d'obtenir les admins de faire des changements à la façon dont les choses fonctionnent.
OriginalL'auteur fuad | 2008-11-07
Vous devez vous connecter pour publier un commentaire.
Utilisation
sshpass
.Par exemple, lorsque le mot de passe est dans
password.txt
fichier:(prises à partir de la réponse à une question similaire)
OriginalL'auteur uvsmtid
Vous pouvez exécuter s'attendre à des scripts à partir de cron, au moins vous pouvez vous attendre avec des bibliothèques comme "pexpect" pour Python. Je viens de tester cela pour confirmer, l'exécution d'un pexpect scp/ssh script à partir de cron, et j'ai été en mesure de réussir la scp un fichier à partir d'un script Python pour l'exécution de cron.
Exemple de code:
OriginalL'auteur Jay
Plutôt que de passer votre mot de passe, utiliser une clé publique/clé privée du système. Ajouter la clé publique de la machine à la liste des clés autorisées sur toutes les machines que vous souhaitez vous connecter. En utilisant cette méthode SSH permet de valider automatiquement les touches et aucun mot de passe n'est requis.
Vous trouverez les instructions ici: http://linuxproblem.org/art_9.html
Depuis que je viens de lire la question plus attentivement, vous voudrez peut-être regarder autour pour un autre client SSH qui supporte l'authentification par mot de passe sans interaction de l'utilisateur. Je recherche rapide sur google laissé entendre qu'ils existent (http://www.derkeiler.com/Newsgroups/comp.security.ssh/2004-12/0134.html)
Liées Stackoverflow questions:
OriginalL'auteur vfilby
Cette discussion parle de ce que vous essayez de faire:
http://cygwin.com/ml/cygwin/2004-02/msg01449.html
Si vous ne pouvez pas avoir l'administrateur de créer un répertoire local pour vous, alors cela ne fonctionnera pas.
OriginalL'auteur Joseph
SSH nécessite un "acte de foi" pour fixer la poignée de main initiale contre l'avenir de la falsification. (Vous d'abord confiance à la clé, le serveur vous donne)
Celui qui est actuellement disponible, mais pas bien connue approche est d'utiliser SSH-PRS. On utilise à cette mutuelle mot de passe de la connaissance à la fois de vous authentifier et de fournir les clés de chiffrement de session pour chiffrer en toute sécurité votre session ssh.
Son BEAUCOUP plus sécurisé que SSH initiale de "trust me" et ne nécessite pas une longue durée de stockage de clés.
OriginalL'auteur
N'utilisez pas attendre, pexpect ou de nourrir un mot de passe. Si vous le faites, votre mot de passe doit être quelque part dans le texte clair, ce qui peut être moins sûre que l'utilisation d'un sans mot de passe paire clé publique/privée. Et c'est plus de travail!
Lire cette page de "SSH: The Definitive Guide" pour un examen de vos options:
http://www.snailbook.com/faq/no-passphrase.auto.html
OriginalL'auteur slinkp
Vous avez mal compris comment l'authentification par clé publique des œuvres. Vous n'avez pas besoin d'accéder à distance à domicile annuaire, il suffit de mettre la clé publique locale dans la distance
authorized_keys
fichier. Google autour, il ya beaucoup de guides.authorized_keys
ne sera pas trouvé.Il y a à être un utilisateur quelque part pour faire le montage. Même si elle est à la racine, l'authentification par clé publique est plus sûr que d'avoir votre mot de passe de connexion qui traînent.
OriginalL'auteur Harley Holcombe