comment puis-je définir un raccourci dans conEmu pour ouvrir automatiquement un nouvel onglet avec cygwin et démarrer automatiquement une commande donnée (par exemple, ssh)?
Commençons donc par comment lancer cygwin bash dans un nouvel onglet. Dans mon exemple, j'utilise cygwin bash de msys-git parce que c'est ce que j'ai installé:
La commande que j'utilise est:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Program Files (x86) \ Git \ bin \ sh.exe "--login -i"
Voilà donc un shell interactif. Si je veux exécuter ls depuis l'intérieur de cygwin bash, je peux utiliser à la sh -exec
place de sh --login -i
Il ressemblerait à ceci:
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>
Vous pouvez donc probablement démarrer ssh à partir de cygwin bash avec quelque chose comme:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Program Files (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh [email protected] ""
Vous devrez peut-être jouer avec des citations. Je suggère de regarder mes tâches conemu pour référence.
cmd /c
est en fait excessif, sauf si vous devez configurer des variables d'environnement avant d'exécuter ssh.exe. Si vous n'avez pas besoin de configurer l'environnement - vous pouvez exécuter ssh.exe directement, sans "cmd / c".bash.exe -c "ssh ..."
plutôt quebash.exe --exec "ssh ..."
C'est le moyen le plus simple de lancer une tâche SSH et de l'exécuter via ConEmu. Nécessite un peu plus de configuration, mais ça vaut le coup au final.
Générer une clé ssh
Étapes d'une excellente réponse ici: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen vous posera quelques questions. Les réponses par défaut sont correctes. Si vous voulez utiliser une phrase de passe vierge, c'est bien aussi. Gardez simplement votre fichier de clés en sécurité. Remplacez l'identifiant, le serveur et le mot de passe par vos informations d'identification.
Ajouter une tâche pour ssh
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
(Facultatif) Définir la tâche comme tâche par défaut
Si vous avez tout fait correctement, votre console démarrera et ssh dans votre serveur de choix, aucun mot de passe requis puisque vous utilisez un mot de passe.
la source
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
le -c exécutera automatiquement la commande de chaîne suivante après vous être connecté
la source