Как установить ярлык в conEmu для автоматического открытия новой вкладки с помощью Cygwin и автоматического запуска данной команды (скажем, ssh)?
3 ответа
Итак, давайте начнем с того, как запустить Cygwin Bash в новой вкладке. В моем примере я использую cygwin bash от msys-git, потому что это то, что я установил:
Команда, которую я использую:
% systemroot%\SysWOW64\cmd.exe /c "" C:\Program Files (x86)\Git\bin\sh.exe "--login -i"
Так что это интерактивная оболочка. Если я хочу запустить ls из cygwin bash, я могу использовать sh -exec
вместо sh --login -i
Это будет выглядеть так:
C:\Users\JDearing>"C:\Program Files (x86)\Git\bin\sh.exe" -exec "/bin/ls c:\\"
+ /bin/ls c:
$Recycle.Bin VC_RED.MSI install.exe
BOOTSECT.BAK VC_RED.cab install.ini
Chocolatey Windows install.res.1028.dll
Documents and Settings boot install.res.1031.dll
EntLib41Src bootmgr install.res.1033.dll
Intel eula.1028.txt install.res.1036.dll
MSOCache eula.1031.txt install.res.1040.dll
PerfLogs eula.1033.txt install.res.1041.dll
Program Files eula.1036.txt install.res.1042.dll
Program Files (x86) eula.1040.txt install.res.2052.dll
ProgramData eula.1041.txt install.res.3082.dll
Recovery eula.1042.txt old_machine
RiskWorks eula.2052.txt pagefile.sys
SWSetup eula.3082.txt profiles
SafeBoot.fs globdata.ini sysinternals
SafeBoot.rsv hiberfil.sys vcredist.bmp
System Volume Information ilspy
Users inetpub
C:\Users\JDearing>
Так что вы, вероятно, можете запустить ssh из cygwin bash примерно так:
% systemroot%\SysWOW64\cmd.exe /c "" C:\Program Files (x86)\Git\bin\sh.exe "-exec" /usr /bin /ssh Car981@linuxbox.domain.com ""
Возможно, вам придется играть с цитатами. Я бы посоветовал посмотреть на мои задачи по conemu для справки.
Это самый очевидный способ запустить задачу SSH и запустить ее через ConEmu. Требуется немного больше конфигурации, но это того стоит.
Генерация ssh-ключа
Шаги от отличного ответа здесь: https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password. ssh-keygen задаст вам несколько вопросов. Ответы по умолчанию в порядке. Если вы хотите использовать пустую фразу-пароль, это тоже хорошо. Просто храните ваш ключевой файл в безопасности. Замените id, сервер и пароль своими учетными данными.
$ ssh-keygen -t rsa -b 2048
$ ssh-copy-id id@server password
$ ssh id@server
Добавить задачу для ssh
- Откройте настройки ConEmu, зайдите в Startup-> Tasks.
- Нажмите +
- Назовите задачу что-то (я использовал "ssh")
- В большом текстовом поле для команд, вкладок и т.д. Поместите новую команду:
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
- Замените id и сервер своим
(Необязательно) Установить задачу как задачу по умолчанию
- Переключиться в родительское окно настроек "Автозагрузка"
- В разделе "Параметры запуска" выберите переключатель "Указанная именованная задача".
- Из выпадающего списка выберите название вашей задачи (в моем случае ssh)
- Сохранить настройки
Если вы все сделали правильно, ваша консоль запустится и перейдет по ssh на выбранный вами сервер, пароль не требуется, поскольку вы используете пароль.
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
-c автоматически выполнит следующую строковую команду после входа в систему