Foros del Web » Administración de Sistemas » Unix / Linux »

Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Estas en el tema de Ejecutar Shell en Ubuntu desde Windows con PLINK sin password en el foro de Unix / Linux en Foros del Web. Buenas tardes a todos: Quisiera saber si alguno de ustedes sabe cómo puedo ejecutar un Shell en ubuntu desde un equipó windows como SUDO, sin ...
  #1 (permalink)  
Antiguo 28/08/2015, 14:35
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Buenas tardes a todos:

Quisiera saber si alguno de ustedes sabe cómo puedo ejecutar un Shell en ubuntu desde un equipó windows como SUDO, sin que tenga que introducir manualmente la contraseña.

Primero que nada, voy a tratar de explicar más o menos qué es lo que estamos haciendo. La idea es automatizar algunos procesos que tenemos que ejecutar en un servidor Ubuntu, para ejecutarse desde un cliente instalado en windows. Para tal efecto encontramos que con PLINK, una utiliería similar al PUTTY podemos hacer esto. El shell a manera de ejemplo tiene lo siguiente:

Código:
/home/scripts/muestra_params.sh

#!/bin/bash
echo "inicio del shell"
echo "este es el primer parámetro: $1"
echo "este es el segundo parámetro: $2"
sudo echo "aquí ejecutamos una instrucción como sudo"
echo "fin del shell"
Aquí el detalle está el la línea 5, a manera de ejemplo estoy haciendo un echo, sin embargo la idea es que aquí vamos a ejecutar un comando que necesitamos ejecutar forzosamente como sudo.

para la invocación desde la consola MSDOS desde un equipo distinto con windows 8.1, hacemos lo siguiente:

Código:
plink.exe -ssh -pw password -t [email protected] "sudo /home/scripts/muestra_params.sh prueba1 prueba2"
Al ejecutar el comando, inmediatamente aparece el cursor solicitando la contraseña para el usuario (en el ejemplo sería password), al teclearla ejecuta correctamente el shell, sin embargo, lo que necesitamos es que no se tenga que volver a teclear esa contraseña.

Estuve leyendo que para poder ejecutar un shell como sudo sin necesidad de introducir un password, se debe editar el archivo /etc/sudoers en este archivo agregué la siguiente línea

Código:
usuario ALL=NOPASSWD : /home/scripts/muestra_params.sh
sin embargo no lo hace, aun ejecutando el shell desde la consola del mismo UBUNTU, tengo que teclear el password del sudo. No sé qué estoy haciendo mal o si me falta configurar algo. Agradezco de antemano cualquier ayuda que me puedan proporcionar.

Saludos
Leo.
  #2 (permalink)  
Antiguo 29/08/2015, 11:35
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 11 años, 4 meses
Puntos: 401
Respuesta: Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Es evidente que te pide password en:
Código BASH:
Ver original
  1. usuario ALL=NOPASSWD : /home/scripts/muestra_params.sh
El nopass se lo colocas a un user en particular y debería ser a root o a todos:
Código BASH:
Ver original
  1. nano /etc/sudoers
  2. ALL ALL= NOPASSWD: /home/scripts/muestra_params.sh
Te recuerdo que no es nada recomendable lo que pretendes..... por seguridad.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 31/08/2015, 07:58
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Hola lauser:

Antes que nada muchas gracias por contestar. Probe la solucion que me comentaste, (de hecho ya la había probado), sin embargo sigo teniendo el mismo problema. Puse esta linea en el archivo sudoers:

Código:
ALL ALL=NOPASSWD: /home/scripts/muestra_param.sh
pero al ejecutar el shell incluso desde una consola de UBUNTU me aprece lo siguiente:

Código:
usuario@usuarioUbuntu:~$ /home/scripts/muestra_param.sh param1 param2
inicio esto es una prueba
-------------------------
param1
param2
[sudo] password for usuario: 
Aquí ejecutamos algo como SUDO
fin de esto es una prueba
-----------------------------
Es decir, al llegar a la linea que estoy marcando como sudo, me pide la contrasea:

Código:
#!/bin/bash
#-----------------------------------------------
# ./muestra_param.sh param1 param2
#-----------------------------------------------
echo "inicio esto es una prueba"
echo "-------------------------"
echo $1
echo $2
sudo echo "Aquí ejecutamos algo como SUDO"
echo "fin de esto es una prueba"
echo "-----------------------------"
Y lo mismo pasa cuando me conecto con el PLINK desde el equipo windows, si hago esto:

Código:
C:\Program Files\putty>PLINK.EXE -pw password [email protected] -ssh "/home
/scripts/muestra_param.sh param1 param2"
obtengo el siguiente resultado:

Código:
inicio esto es una prueba
-------------------------
param1
param2
sudo: sin tty presente y no hay programa askpass especificado
fin de esto es una prueba
-----------------------------
si agrego la opcion -t al PLINK obtengo lo siguiente:

Código:
inicio esto es una prueba
-------------------------
param1
param2
[sudo] password for josecorona:
aquí me deja el cursor hasta que vuelvo a teclear el password del usuario (que es el mismo que aparece en la opcion -pw)

Con respecto a lo que comentas de la seguridad, en realidad esto ya lo habíamos contemplado, sin embargo el equipo en el que vamos a ejecutar esto es meramente de pruebas y de uso interno, por lo tanto podemos pasar por alto esto que en realidad sería un hueco de seguridad enorme.

Gracias nuevamente por el apoyo y por lo pronto sigo buscando que es lo que estoy haciendo mal.

Saludos
Leo.
  #4 (permalink)  
Antiguo 31/08/2015, 15:08
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Hola de nuevo:

Después de buscar un buen rato en la Red, San GOOGLE me dio una posible solución en esta página:

http://askubuntu.com/questions/50465...rs-doesnt-work

Lo que tuve que hacer es crear el archivo MyOverrides con esta única línea:

Código:
usuario ALL= NOPASSWD: ALL
y así si funciona, al ejecutar el Shell desde la terminal de Ubuntu o desde la página de Windows con el PLINK:

Código:
C:\Program Files\putty>PLINK -pw password [email protected] -t "sudo /home/scripts/muestra_param.sh param1 param2"
inicio esto es una prueba
-------------------------
param1
param2
Aquí ejecutamos algo como SUDO
fin de esto es una prueba
-----------------------------
es decir, ya no me pide que teclee la contraseña del SUDO, sino que lo hace directamente.

Ahora bien, no entiendo por qué si pongo esto no funciona:

Código:
usuario ALL:NOPASSWD: /home/scripts/muestra_param.sh
es decir, lo que entiendo es que con la opción ALL me permite ejecutar cualquier cosa, pero yo sólo quiero darle permisos sobre este único SHELL. Por lo pronto esto me sirve, seguiré documentándome por si encuentro alguna otra solución y con gusto la comparto.

Saludos
Leo.
  #5 (permalink)  
Antiguo 31/08/2015, 17:18
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Respuesta: Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

A como te lo dijeron anteriormente, ESTAS DEJANDO ABIERTO Y DESPROTEGIDO EL EQUIPO. Yo no haría eso aunque fuera de prueba, sino que capacitaría al usuario para que ingrese un usuario y contraseña para conectarse.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #6 (permalink)  
Antiguo 01/09/2015, 07:57
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Gracias por los comentarios BrujoNic, pero insisto que el tema de la seguridad NO ES RELEVANTE EN ESTE CASO... yo se que esto es una vulnerabilidad de seguridad, pero SON RIESGOS QUE YA HEMOS CALCULADO... los usuarios seremos nosotros mismos.

Saludos
Leo.
  #7 (permalink)  
Antiguo 01/09/2015, 14:45
 
Fecha de Ingreso: octubre-2011
Mensajes: 166
Antigüedad: 13 años, 1 mes
Puntos: 31
Respuesta: Ejecutar Shell en Ubuntu desde Windows con PLINK sin password

Ahora bien, no entiendo por qué si pongo esto no funciona:

Código:
usuario ALL:NOPASSWD: /home/scripts/muestra_param.sh

Parece ser que no tienes bien definida la ruta absoluta del Script
, prueba ejecutar
Código BASH:
Ver original
  1. sudo sh -c 'echo "usuario ALL=NOPASSWD: /home/usuario/scripts/muestra_param.sh" >> /etc/sudoers'
También puedes ejecutar y servirá para todos los usuarios para que pueda ejecutar ese script especlifico
Código BASH:
Ver original
  1. sudo sh -c 'echo "ALL ALL=NOPASSWD: /home/usuario/scripts/muestra_param.sh" >> /etc/sudoers
Lo importante en estos casos es que el script tenga permisos de ejecución y que la ruta absoluta del mismo sea correcta, la forma mas simpke de saber la ruta de cualquier fichero es simplemente arrastrándolo al terminal, apararecerá entre comillas simple

Última edición por EnriqueK; 01/09/2015 a las 23:42

Etiquetas: password, servidor, shell, ubuntu, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:17.