Как я могу установить ярлык в conEmu для автоматического открытия новой вкладки с помощью Cygwin и автоматического запуска данной команды (скажем, ssh)?
Итак, давайте начнем с того, как запустить Cygwin Bash в новой вкладке. В моем примере я использую msg-git Cygwin Bash, потому что это то, что я установил:
Команда, которую я использую:
% 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 для справки.
cmd /c
на самом деле это избыточно, если только вам не нужно устанавливать какие-либо переменные среды перед запуском ssh.exe. Если вам не нужно настраивать среду - вы можете запустить ssh.exe напрямую, без «cmd / c».bash.exe -c "ssh ..."
а неbash.exe --exec "ssh ..."
Это самый очевидный способ запустить задачу SSH и запустить ее через ConEmu. Требуется немного больше конфигурации, но это того стоит.
Генерация ssh-ключа
Шаги от отличного ответа здесь: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen задаст вам несколько вопросов. Ответы по умолчанию в порядке. Если вы хотите использовать пустую фразу-пароль, это тоже хорошо. Просто храните ваш ключевой файл в безопасности. Замените id, сервер и пароль своими учетными данными.
Добавить задачу для ssh
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
(Необязательно) Установить задачу как задачу по умолчанию
Если вы все сделали правильно, ваша консоль запустится и перейдет по ssh на выбранный вами сервер, пароль не требуется, поскольку вы используете пароль.
источник
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
-c автоматически выполнит следующую строковую команду после входа в систему
источник