script de Linux para entrar automáticamente la contraseña

  
programadores

Linux utilizan para introducir la contraseña para este movimiento, sin duda no es ajeno a Linux bajo estrictas restricciones a los permisos de usuario, haciendo un montón de cosas han cruzado el permiso para introducir una contraseña, tales como superusuario correr, otro ejemplo ftp, ssh conexión al host remoto, y así sucesivamente, como se muestra


así que la pregunta es, es necesario introducir una contraseña cuando la secuencia de comandos de ejecución de cómo hacer automatizado? Por ejemplo, usted tiene una sentencia de script SCP, esta frase no puede llevar a cabo para introducir manualmente la contraseña cuando se

ssh o scp comando dirigido a, alguien puede responder que es construir confianza en la secuencia de comandos, ssh en el establecimiento de una relación de confianza forma su propio Baidu Google, sólo dos simples líneas de comando se puede conseguir, pero esto no es soluciones convencionales, si la conexión ftp Meizhe por otra parte, no se puede ir con el fin de ejecutar ciertos comandos que ha usado cada se host para conectarse a configurar manualmente la confianza ssh, que se ha desviado de la intención original del tema de hoy, decir hoy es la contraseña automática en el guión, podemos imaginar, debe haber una manera más elegante para configurar su propia contraseña en el guión, cuando interacción con la pantalla introduce automáticamente cuando se necesita para entrar en, para lograr este efecto es necesario utilizar esperar

instalación

mando bajo instalación de CentOS es muy simple, de la siguiente manera

 sudo yum install esperar 

en cuanto a los usuarios de Mac, puede instalar homebrew (necesidad de instalar homebrew, su propio Google)

 brebaje esperan instalar 

script de prueba

que escribió un pie sencillo Esta toma de conciencia de copia de archivos SCP, configurar la contraseña en una secuencia de comandos se guarda la siguiente manera scp.exp

 # /usr /bin /expectset tiempo de espera 20Si {[llargo $ argv] < 2} {pone " Uso !: " pone " $ argv0 archivo_local REMOTE_PATH " salida 1} establecido archivo_local [lindex $ argv 0] establecer REMOTE_PATH [lindex $ argv 1] establecer passwd your_passwdset passwderror 0spawn SCP $ archivo_local $ remote_pathexpect {" * assword: * " {if {$ passwderror == 1} {pone " passwd es el error " salida 2} set timeout 1000 conjunto passwderror 1 send " $ passwd \\ &r quot; exp_continue} " * en /no) * "? {enviar " Sí \\ r " exp_continue} de tiempo de espera {pone " la conexión es el tiempo de espera " salida 3}} 

Tenga en cuenta que la primera línea es muy importante, por lo general nuestro script de la primera línea es # /bin /bash, pero aquí es su máquina! La ruta del programa expect, que indica que este script se interpreta por expect, no por bash, por lo que el código La ley y el script de shell no es lo mismo, que establece passwd your_passwd configurar su propia contraseña, y luego ejecutar el siguiente comando

 ./scp.exp ./local_file usuario @ host: /xx /yy /

antes de realizar asegurar scp.exp han permisos de ejecución, el primer parámetro a su archivo local, el segundo es un directorio del host remoto, ejecute el script si un error y " Connect es tiempo de espera y ", puede establecer el tiempo de espera más largo, el segundo juego de líneas El tiempo de espera 20 puede establecer el tiempo de espera en segundos. Scripts resultados de la ejecución son los siguientes


¿Qué puede hacer

cuidadosas estudiantes deben encontrar, de hecho, esperan proporcionar un terminal y un mecanismo interactivo, simplemente introduzca su contraseña un formulario de solicitud, que se requiere cuando el terminal de entrada de bloqueo, de entrada puede hacerse automáticamente por el script de esperar, tales como el configurado previamente en dos guiones escenarios de interacción, uno es un terminal " contraseña: " al ingresar una contraseña, sino también uno se le pide que " sí /no) "? de entrada y " sí y " y si el host remoto es el primero en establecer una conexión, ejecute efecto guión scp.exp es este Listado


Así que podemos configurar los comandos de entrada de acuerdo con las indicaciones del terminal, para que se pueda lograr el efecto de automatización. En cuanto a tratar con otras escenas interactivas, simplemente siga el guión anterior y siga la primicia de la pintura de calabaza.

Copyright © Conocimiento de Windows All Rights Reserved