Comment répondre à l'invite de mot de passe lors de l'utilisation de SCP dans un script shell?
Tout d'abord, je suis bien conscient qu'il ya beaucoup de questions à ce sujet. Je les ai lus, mais ne pouvait toujours trouver une réponse appropriée pour ma situation.
Je voudrais scp
l'ensemble de la ~/cs###/assign1
dir de locaux à l'école à la maison dir avec un script shell. Ma question est, est-il possible dans mon script d'attendre l'invite de mot de passe, puis simuler des principaux événement de carte de "type" dans mon mot de passe?
ici est vraiment un guide détaillé de la façon de configurer la clé
Cette question ressemble exactement à votre situation: stackoverflow.com/questions/50096/how-to-pass-password-to-scp
Notez que les réponses à la putatif en double question de ne pas mentionner les clés ssh' comme indiqué par BZ.
J'espérais qu'il pourrait être une solution à l'aide d'une simple coquille ou des commandes unix.
Double Possible de Comment passer de mot de passe à scp?
Notez que les réponses à la putatif en double question de ne pas mentionner les clés ssh' comme indiqué par BZ.
J'espérais qu'il pourrait être une solution à l'aide d'une simple coquille ou des commandes unix.
Double Possible de Comment passer de mot de passe à scp?
OriginalL'auteur derrdji | 2009-09-22
Vous devez vous connecter pour publier un commentaire.
Sont les clés ssh pas permis? Que ce serait une meilleure solution.
OriginalL'auteur BZ.
Utiliser "sshpass"!
sshpass
semble intéressant. Travailler sur un système qui ne fonctionne pas bien avec les clés SSH, ce qui permettra de le faire. Merci!OriginalL'auteur KevinS
Je ne pense pas que vous pouvez facilement le faire. Ce que vous peut n'est à l'aide de l'authentification par clé publique au lieu.
Quelque chose le long de ces lignes de
(ou
dsa
).Mais bon, c'est pas serverfault, est-il? 😉
Ces paramètres sont dans votre répertoire home.
OriginalL'auteur Michael Krelin - hacker
Examiner à l'aide des touches, ou une bibliothèque externe.
Je ne pense pas que c'est possible de faire autrement (j'espère que je ne me trompe pas), car il impose automatique de la force brutale intrusion et de renifler de mots de passe.
Il y a des bibliothèques qui peuvent faire ce que vous voulez (utiliser le protocole SFTP, pas d'appel scp), comme libssh.
Encore une fois, je recommande fortement clés.
OriginalL'auteur LiraNuna
Quelque chose comme cela - http://code.google.com/p/enchanter/ ?
OriginalL'auteur cms
Je suis d'accord que vous devez utiliser les touches. Mais attendre pouvez automatiser le volet interactif du processus, SI vous voulez coder en dur de votre mot de passe en texte clair fichier de script.
OriginalL'auteur glenn jackman
Si vous pouvez monter le répertoire à partir d'une machine Windows (par ex. via l'AFS, NFS ou SMB mon université du Windows laboratoires ont tous fait), vous pouvez utiliser pscp avec l'-pw commutateur.
OriginalL'auteur i_am_jorf
Pourquoi ne pas simplement utiliser l'option "-r" option pour copier récursivement? Ou utiliser rsync à la place?
Vous pouvez également utiliser l'authentification par clé publique, qui ne nécessite aucune aide sur leur fin aussi longtemps que vous avez un compte d'utilisateur. Voir cette
OriginalL'auteur kwatford
Vous ne dites pas la plateforme que vous utilisez à la maison et à l'école. En supposant que Linux, Cygwin ou OS/X, vous avez plusieurs options:
n'a pas été désactivé sur le serveur
Pour l'option (1), vous
ssh-keygen, sans passphrase sur
la clé privée. Notez que l'omission d'un mot de passe est probablement pas une bonne idée si d'autres personnes utilisent le même ordinateur, mais votre objectif est d'obtenir d'avoir à taper le mot de passe.
compte et de le placer dans
~/.ssh/authorized_keys
l'option, où identityfile est l'
chemin d'accès complet à votre clé privée. Ou, ajouter une entrée .ssh/config (voir les pages man)
Pour la deuxième option, ssh-agent permet de cache de votre mot de passe dans un processus local une fois par session. Vous définissez une date d'expiration
OriginalL'auteur Jim Garrison
Comme beaucoup l'ont déjà dit qu'en utilisant des clés ssh serait la plus sûre et la meilleure façon.
Si quelqu'un d'autre est encore à se demander autour et la recherche de l'aide, aide Ubuntu il est rapide et simple façon d'utiliser des clés ssh.
OriginalL'auteur Karls
Une fois que vous configurez
ssh-keygen
comme expliqué ici, vous pouvez le fairescp -i ~/.ssh/id_rsa /local/path/to/file [email protected]:/path/in/remote/server/
où
id_rsa
est la clé générée dans lessh-keygen
de l'installation.Si vous voulez réduire à taper à chaque fois, vous pouvez modifier votre
.bash_profile
fichier et mettrePuis, à partir de votre terminal ne
source ~/.bash_profile
. Après, si vous tapezremote_scp
dans votre terminal, il faut exécuter lescp
commande sans mot de passe.OriginalL'auteur hi15
J'ai trouvé aucun moyen de le faire sur nos systèmes automatiquement - je faire un ssh sur un périphérique, puis ssh à l'appareil suivant, et sur les deux, je ne peut pas installer un autre logiciel. Donc, je peux seulement utiliser les script shell de commandes. Je peux copier tous les fichiers d'un type avec, par exemple *.png, ou un par un dans mon fichier de script, d'avoir à entrer le mot de passe pour chaque fichier. La seule chose que j'ai fait a été utile était de taper le mot de passe dans un fichier, de le couper, et être en mesure de le coller à chaque invite pour chaque fichier.
OriginalL'auteur Janin