jak mogę ustawić skrót w conEmu, aby automatycznie otworzyć nową kartę w cygwin i automatycznie uruchomić dane polecenie (powiedzmy ssh)?
8
Zacznijmy więc od tego, jak uruchomić cygwin bash w nowej karcie. W moim przykładzie używam bash cygwin msys-git, ponieważ to właśnie zainstalowałem:
Polecenie, którego używam to:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Program Files (x86) \ Git \ bin \ sh.exe "--login -i"
To jest interaktywna powłoka. Jeśli chcę uruchomić ls z wnętrza cygwin bash, mogę użyć sh -exec
zamiast sh --login -i
To wyglądałoby tak:
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>
Więc prawdopodobnie możesz zacząć ssh od cygwin bash z czymś takim jak:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Program Files (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh [email protected] ""
Być może będziesz musiał grać z cytatami. Proponuję spojrzeć na moje zadania conemu w celach informacyjnych.
cmd /c
jest w rzeczywistości nadmiarem, chyba że musisz uruchomić jakieś zmienne środowiskowe przed uruchomieniem ssh.exe. Jeśli nie musisz konfigurować środowiska - możesz uruchomić ssh.exe bezpośrednio, bez „cmd / c”.bash.exe -c "ssh ..."
zamiastbash.exe --exec "ssh ..."
Jest to najbardziej pozorny sposób na uruchomienie zadania SSH przez ConEmu. Wymaga nieco większej konfiguracji, ale w końcu warto.
Wygeneruj klucz ssh
Kroki od doskonałej odpowiedzi tutaj: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen zada ci kilka pytań. Domyślne odpowiedzi są w porządku. Jeśli chcesz iść z pustym hasłem, to też dobrze. Po prostu przechowuj swój plik klucza w bezpiecznym miejscu. Zastąp identyfikator, serwer i hasło danymi uwierzytelniającymi.
Dodaj zadanie dla ssh
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
(Opcjonalnie) Ustaw zadanie jako zadanie domyślne
Jeśli wszystko zrobiłeś poprawnie, konsola uruchomi się i ssh na wybranym serwerze, bez hasła, ponieważ używasz klucza dostępu.
źródło
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
-c wykona następujące polecenie łańcuchowe automatycznie po zalogowaniu się za Ciebie
źródło