2012-08-30 38 views
10

Tengo varios servidores que necesito remotamente. Prefiero Cygwin over Putty para hacerlo.atajo de cygwin ssh desde el escritorio de Windows

De todos modos, el proceso de abrir la ventana de Mintty y escribir los siguientes comandos lleva demasiado tiempo. PD: estoy usando una autenticación de "clave" para estos servidores.

Primero, hago doble clic en el acceso directo de la Terminal Cygwin desde mi escritorio de Windows.

Entonces una vez que la sesión de terminal ha arrancado, desde la línea de comandos que escriba lo siguiente -

$ eval `ssh-agent` 
$ ssh-add 
$ ssh <username>@<servername> 

Por favor, tenga en cuenta que mi 'ServerName' es variable. De hecho, tengo alrededor de 10 nombres de servidor diferentes que podrían ser insertados allí. De ahí mi necesidad de 10 accesos directos diferentes. Preferiría hacer doble clic en algo de mi escritorio que encenderá mi Mintty y ejecutará automáticamente los comandos de shell bash anteriores.

¿Alguien tiene o puede recomendar una buena/elegante solución para hacer esto?

(Tengo la sensación de que tiene algo que ver con el atributo de destino del icono de acceso directo de Windows que estoy haciendo clic en.)

Respuesta

6

Para lograr esto yo los pasos siguientes:..

Paso 1: se crea un directorio donde instalé Cygwin llamados scripts

Paso 2: En este directorio creado un script de bash llamado servername.sh

Paso 3: servername.sh tendrá el siguiente contenido (una sola línea):

eval `ssh-agent`;ssh-add;ssh [email protected] 

(Asegúrese de sustituto de usuario y nombre del servidor con la información apropiada)

Paso 4: se crea un acceso directo del icono de Cygwin Terminal

Paso 5: Pegado es donde yo quería que (en mi escritorio - pero se puede elegir wh antes de que quieras colocarlo).

Paso 6: Haga clic derecho y renombrado mi acceso directo (nombre que mi nombre del servidor)

Paso 7: Haga clic derecho y seleccione Propiedades

Paso 8: En el Objetivo atributos de la sección Tengo la siguiente línea de código -

C:\Cygwin\bin\mintty.exe -e /bin/sh -l -c '/scripts/servername.sh' 

¡Y asegúrese de que sus caminos coincidan con su entorno!

Saludos.

11

Usted puede hacer esto sin demasiada dificultad. Copie el icono existente de Cygwin Terminal, haga clic derecho sobre él y seleccione Propiedades. Debería ver algo como lo de abajo en el campo Destino:

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico - 

sustituirla por la siguiente (en sustitución de <username> y <servername> según corresponda):

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico /bin/bash -l -c "eval `ssh-agent` ; ssh-add ; ssh <username>@<servername>" 

Repita según sea necesario para sus otros servidores. ¡Eso es!

(Detalle:. Reemplazamos el argumento - [lo que significa utilizar el shell de entrada estándar] con una llamada explícita a golpear a ejecutar sus comandos La parte -l significa utilizar un shell de entrada, que en particular significa la variable de PATH se crea y así fiesta puede encontrar ssh la parte -c simplemente introduce el comando, que debe reconocer a su pregunta)

Cuestiones relacionadas