Pregunta

Cuando intento usar un ssh comando en un script de shell, el comando simplemente permanece allí.¿Tiene un ejemplo de cómo utilizar ssh en un script de shell?

¿Fue útil?

Solución

Depende de lo que quieras hacer y de cómo lo uses.Si solo desea ejecutar un comando de forma remota y segura en otra máquina, simplemente use

ssh user@host command

Por ejemplo

ssh user@host ls

Para hacer esto de forma segura, debe solicitar la contraseña al usuario durante el tiempo de ejecución o configurar claves en el host remoto.

Otros consejos

Primero, debe asegurarse de haber configurado el acceso sin contraseña (inicio de sesión con clave pública).Hay al menos dos versiones de ssh con formatos de archivos de configuración ligeramente diferentes.Comprobar el ssh página de manual de su sistema, consulte con su administrador de sistemas local o diríjase a ¿Cómo configuro la autenticación de clave pública?.

Correr ssh en modo por lotes (como dentro de un script de shell), debe pasar el comando que desea ejecutar.La sintaxis es:

ssh host command

Si desea ejecutar más de un comando al mismo tiempo, utilice comillas y punto y coma:

ssh host "command1; command2"

Las comillas son necesarias para proteger los puntos y coma del intérprete de shell.Si los omitiera, solo el primer comando se ejecutaría de forma remota y el resto se ejecutaría en la máquina local.

Puedes usar expect comando para completar la información de nombre de usuario/contraseña.

Debes poner tu clave pública SSH en el ~/.ssh/authorized_keys archivo en el host remoto.Entonces podrás conectarte mediante SSH a ese host sin contraseña.

Alternativamente puedes usar ssh-agent.Recomendaría no almacenar la contraseña en el script.

La forma más sencilla es utilizar un certificado para el usuario que ejecuta el script.

Una más compleja implica agregar a la entrada estándar la contraseña cuando el comando de shell la solicite.Espere que las bibliotecas de Perl muestren al usuario un mensaje que le solicite la contraseña (al menos si es interactivo), hay muchas opciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top