Especificar una contraseña en 1 RSH

jebok Mensajes publicados 371 Fecha de registro   Estado Miembro -  
poumiZ Mensajes publicados 103 Estado Miembro -
Hola,

¿Es posible hacer un rsh en una máquina remota y especificar la contraseña en la línea de comandos?
En el man, solo se puede especificar el usuario con el comando:
rsh máquina -l usuario


Gracias por su ayuda
Configuración: AIX ksh

4 respuestas

  1. emateus
     
    El problema es que solo puedo crear scripts en la máquina, no acceder a todos los directorios :/
    ¿Tienes otras pistas?
    2
  2. poumiZ Mensajes publicados 103 Estado Miembro 10
     
    insertar un archivo .rhosts en la máquina objetivo y que contenga la línea:
    <máquina_fuente>

    Un poco de documentación (AIX)
    El host remoto permite el acceso solo si se cumple al menos una de las siguientes condiciones:

    o El ID de usuario local no es el usuario root, y el nombre del host local está
    listado como un host equivalente en el archivo remoto /etc/hosts.equiv.
    o Si ya sea el ID de usuario local es el usuario root o la verificación de
    /etc/hosts.equiv no tiene éxito, el directorio de inicio del usuario remoto debe
    contener un archivo $HOME/.rhosts que enumere el host y el nombre de usuario local.
    0
    1. poumiZ Mensajes publicados 103 Estado Miembro 10
       
      pequeña precisión: crear el archivo .rhosts en el $HOME del usuario
      0
  3. poumiZ Mensajes publicados 103 Estado Miembro 10
     
    Hola,
    no entiendo bien tu problema. Un solo archivo .rhosts es suficiente.
    Ejemplo:
    SrvA=Máquina local
    UsrA=Usuario local
    SrvB=Máquina remota
    UsrB=Usuario remoto

    estoy conectado en SrvA con UsrA.
    quiero ejecutar un script en SrvB con UsrB.

    Lo que hay que hacer:
    crear el archivo /home/UsrB/.rhosts en SrvB (máquina remota) con este contenido:
    SrvA UsrA <user_local>
    Puedes poner tantas líneas como desees; además, piensa en agregar todas las interfaces de red conocidas (por ejemplo: SrvA2 si tienes una segunda @IP apuntando a este alias)

    Lo más difícil ya está hecho, solo te queda probar:
    rsh SrvB -l UsrB date
    Deberíamos obtener:
    Thu Jun 14 11:53:45 DFT 2007

    Si no está bien:
    rshd: 0826-813 Permiso denegado.
    0
    1. emateus
       
      Para información, he encontrado una respuesta a mis deseos:

      aquí está
      1) Hacer un script que contenga las operaciones que haríamos manualmente
      mediante un telnet. (Ejemplo de script "script.ksh" siguiente)
      #!/bin/sh
      sleep 2
      echo "usuario de conexión"
      sleep 1
      echo "contraseña"
      sleep 1
      echo "comando 1"
      sleep 1
      echo "comando 2"
      sleep 1
      echo "salir"

      Nota(1): El "sleep 1" es importante en plataformas Linux
      De lo contrario, el script es demasiado rápido y el telnet no ve
      pasar las instrucciones!
      Aumentar el valor del sleep según el comando si este
      tiene un tiempo de respuesta largo.
      Nota(2): No olvidar poner los permisos de ejecución en
      el script (chmod 777 script.ksh)

      2) Luego ejecutar el script redirigiendo hacia telnet
      Ejemplo:
      #script.ksh|telnet direcciónIP

      Resultado: Conexión telnet, con aplicación de los comandos 'echo "comandoaejecutar"'
      del script "script.ksh" ("como de manera manual").

      Agradezco a internet y a todos sus usuarios.
      0
    2. poumiZ Mensajes publicados 103 Estado Miembro 10
       
      No está mal: se aprende algo nuevo todos los días. Sin embargo, te desaconsejo el archivo con chmod 777, ya que tu contraseña es visible para todos. chmod 700 es suficiente.
      Gracias
      -1