як я можу встановити ярлик у conEmu, щоб автоматично відкрити нову вкладку з cygwin та автоматично запустити задану команду (скажімо, ssh)?
як я можу встановити ярлик у conEmu, щоб автоматично відкрити нову вкладку з cygwin та автоматично запустити задану команду (скажімо, ssh)?
Відповіді:
Тож давайте почнемо з того, як запустити cygwin bash на новій вкладці. У своєму прикладі я використовую cygwin bash msys-git, тому що це те, що я встановив:

Я використовую команду:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ програмні файли (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: \ програмні файли (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh Car981@linuxbox.domain.com ""
Можливо, вам доведеться пограти з цитатами. Я б запропонував для ознайомлення переглянути мої завдання conemu .
bash.exe -c "ssh ..."а неbash.exe --exec "ssh ..."
Це найнеподібніший спосіб підняти завдання SSH через ConEmu. Вимагає трохи більшої конфігурації, але вона зрештою того варта.
Кроки від чудової відповіді тут: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen задасть вам кілька питань. Відповіді за замовчуванням прекрасні. Якщо ви хочете пройти з чистою парольною фразою, це теж добре. Просто бережіть свій файл файлів ключів. Замініть ідентифікатор, сервер та пароль своїми обліковими записами.
$ ssh-keygen -t rsa -b 2048
$ ssh-copy-id id@server password
$ ssh id@server
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""Якщо ви все зробили правильно, ваша консоль запуститься та запуститься на ваш сервер за вибором, не потрібно вводити пароль, оскільки ви використовуєте ключ доступу.
cmd /cнасправді є надлишком, якщо вам не потрібно встановити будь-які змінні середовища перед запуском ssh.exe. Якщо вам не потрібно налаштовувати середовище - ви можете запустити ssh.exe безпосередньо, без "cmd / c".