Cygwin ssh ярлык от рабочего стола Windows

У меня есть несколько серверов, которые мне нужно удалять. Я предпочитаю Cygwin над Putty сделать это.

Anyhows - процесс открытия моего прохладного окна Mintty, а затем ввод следующих команд занимает слишком много времени. PS - Я использую "ключевую" аутентификацию на этих серверах.

Во-первых, я дважды нажимаю на ссылку Cygwin Terminal на рабочем столе Windows.

Затем, как только сеанс терминала загрузился, из командной строки введите следующее:

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

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

Кто-нибудь есть или может порекомендовать хорошее/элегантное решение для этого?

(У меня такое ощущение, что оно имеет какое-то отношение к атрибуту Target значка короткой вырезки Windows, на который я нажимаю.)

Ответ 1

Для этого я сделал следующие шаги:

Шаг 1: Создал каталог, в котором я установил Cygwin, называемый скриптами

Шаг 2: В этом каталоге создан BASH script имя servername.sh

Шаг 3: servername.sh будет иметь следующее содержимое (одна строка):

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

(убедитесь, что вы заменили имя пользователя и servername соответствующей информацией)

Шаг 4: Создал ярлык значка терминала Cygwin

Шаг 5. Вставьте его туда, где я этого хотел (на моем рабочем столе, но вы можете выбрать, где вы хотите разместить его).

Шаг 6: щелкните правой кнопкой мыши и переименуйте мой ярлык (назовите его имя моего сервера)

Шаг 7: Щелкните правой кнопкой мыши и выберите "Свойства"

Шаг 8: В разделе "Целевые атрибуты" у меня есть следующая строка кода -

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

И убедитесь, что ваши пути совпадают с вашей средой!

Приветствия.

Ответ 2

Вы можете сделать это без особых трудностей. Скопируйте существующий значок терминала Cygwin, щелкните его правой кнопкой мыши и выберите "Свойства". Вы должны увидеть что-то вроде ниже в поле Target:

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

Замените это следующим (заменяя <username> и <servername> как релевантные):

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

Повторите, если это необходимо для других серверов. Что это!

(Подробно: мы заменим аргумент - [который означает использование стандартной оболочки входа] с явным вызовом bash для запуска ваших команд. Часть -l означает использование оболочки входа, которая в в частности, ваша переменная PATH настроена и поэтому bash может найти ssh. Часть -c просто вводит команду, которую вы должны распознать из своего вопроса.)