cygwin ssh ярлик на робочому столі Windows


5

У мене є кілька серверів, які мені потрібно віддаляти. Я віддаю перевагу Cygwin над Putty для цього.

Anyhows - процес відкриття мого прохолодного вікна Mintty, а потім введення наступних команд займає занадто багато часу. PS - Я використовую "ключ" аутентифікації для цих серверів.

По-перше, двічі клацніть ярлик Cygwin Terminal зі свого робочого столу.

Після завершення сеансу терміналу з командного рядка введіть наступне -

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

Пам'ятайте, що мій "ім'я_сервера" є змінним. Насправді у мене є близько 10 різних імен серверів, які потенційно можуть бути вставлені там - Отже, моя потреба в 10 різних клавіш. Я б вважав за краще подвійний клік на щось з мого робочого столу, який буде запускати мої Mintty і автоматично виконувати вищезазначені команди bash shell.

Хто-небудь може або може порекомендувати гарне / елегантне рішення для цього?

Відповіді:


4

Потрібно створити сценарій оболонки, а потім мати ярлик, який його викликає. По-перше, сценарій:

#!/bin/bash

eval `ssh-agent`
ssh-add
read -p "Username: "
username=$REPLY
read -p "Host: "
host=$REPLY
ssh $username@$host
eval `ssh-agent -k`

Збережіть це як: ~ / bin / CygwinMinttySsh.sh

Переконайтеся, що скрипт виконується: chmod a + rx ~ / bin / CygwinMinttySsh.sh

Потім створіть новий ярлик для C: cygwin bin mintty.exe, потім клацніть правою кнопкою миші на ньому та виберіть "властивості" і змініть ціль на:

C:\cygwin\bin\mintty.exe -e /bin/sh -l -c '$HOME/bin/CygwinMinttySsh.sh'

Я спробував це - але коли я двічі клацнув по значку ярлика - вікно mintty з'являється на частку секунди, а потім йде.
Alex Berkoff

Переконайтеся, що ваш шлях до сценарію правильний. Також переконайтеся, що сам сценарій встановлений як виконуваний (chmod a + rx ~ / bin / CygwinMinttySsh.sh), і що він працює правильно з існуючої оболонки (таким чином ви можете бачити повідомлення про помилки).
Heptite

Відмінна робота гептиту. Випікайте на мене і надішліть мені рахунок. Привітання!
Alex Berkoff

Я тільки що зрозумів, що ви, напевно, хочете вбити ssh-agent в кінці сценарію. Моя відповідь була змінена.
Heptite

0

Насправді існує кілька способів зробити це. Якщо вам дійсно потрібно виконати перелічені вами команди перед виконанням ssh, потім помістіть ці команди у файл з назвою myssh у домашньому каталозі cygwin.

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

Очевидно, вкажіть ім'я користувача, яке ви хочете використовувати, де ви маєте <username>.

Потім ви можете запустити його за допомогою наступної команди:

c:\cygwin\bin\bash --login myssh <servername>

Ви, звичайно, можете помістити це у файл BAT.


Я подивився на ваш підхід, і він теж працював би, але це не так чисто, як підхід вище. Дякуємо за вашу відповідь.
Alex Berkoff

Так, я вирішив + 1'ed @ Heptite ...
HeatfanJohn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.