2012-08-30 15 views
10

Ho più server in cui ho bisogno di remotizzare. Preferisco Cygwin a Putty per farlo.scorciatoia cygwin ssh dal desktop di Windows

Anyhows - il processo di apertura della mia bella finestra di Mintty e la digitazione dei seguenti comandi richiede troppo tempo. PS - Sto usando un'autenticazione "chiave" su questi server.

Per prima cosa, faccio doppio clic sul collegamento del terminale Cygwin dal desktop di Windows.

Poi una volta che la sessione di terminale si è riattivato, dal prompt dei comandi digitare il seguente ho -

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

prega di tenere presente che il mio 'nomeserver' è variabile. In effetti ho circa 10 diversi nomi di server che potrebbero potenzialmente essere inseriti lì - Di qui la mia necessità di 10 scorciatoie diverse. Preferirei fare doppio clic su qualcosa dal mio desktop che aprirà il mio Mintty ed eseguirà automaticamente i comandi della shell bash sopra.

Qualcuno ha o può consigliare una soluzione bella/elegante per fare questo?

(ho la sensazione che abbia qualcosa a che fare con l'attributo di destinazione dell'icona scorciatoia di Windows che sto facendo clic su.)

risposta

6

per raggiungere questo obiettivo ho fatto le seguenti operazioni:..

Fase 1: creato una directory dove ho installato Cygwin chiamato script

Fase 2: In questa directory creato uno script bash chiamato servername.sh

Fase 3: servername.sh avrà i seguenti contenuti (una sola riga):

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

(Assicurati di sostituto utente e servername con le informazioni appropriate)

Fase 4: Creato un collegamento dell'icona Cygwin Terminal

Fase 5: incollato dove volevo (sul mio desktop - ma è possibile scegliere wh prima di metterlo).

Passo 6: Fare clic destro e rinominato la mia scelta rapida (il nome è il nome del server)

Fase 7: Fare clic destro e selezionare Proprietà

Punto 8: Nella destinazione attributi tratto ho la seguente riga di codice -

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

E assicurarsi che i percorsi coincidano con il proprio ambiente!

Cheers.

11

È possibile farlo senza troppe difficoltà. Copia l'icona di Cygwin Terminal esistente, fai clic destro su di essa e seleziona Proprietà. Si dovrebbe vedere qualcosa di simile al di sotto nel campo Destinazione:

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

sostituire questo con il seguente (sostituendo <username> e <servername> come rilevanti):

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

Ripetere se necessario per altri server. Questo è tutto!

(dettaglio:. Sostituiamo l'argomento - [che significa che per utilizzare la shell di login standard] con una chiamata esplicita a bash per eseguire i comandi La parte -l significa utilizzare una shell di login, che, in particolare, significa che la variabile PATH è impostato e così bash può trovare ssh la parte -c solo introduce il comando, che si dovrebbe riconoscere dalla tua domanda)

Problemi correlati