¿Cómo puedo configurar un acceso directo en conEmu para abrir automáticamente una nueva pestaña con cygwin e iniciar automáticamente un comando dado (por ejemplo, ssh)?
8
Entonces, comencemos con cómo iniciar cygwin bash en una nueva pestaña. En mi ejemplo, estoy usando cygwin bash de msys-git porque eso es lo que he instalado:
El comando que uso es:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Archivos de programa (x86) \ Git \ bin \ sh.exe "--login -i"
Entonces ese es un shell interactivo. Si quiero ejecutar ls desde el interior de cygwin bash, puedo usar en sh -exec
lugar de sh --login -i
Se vería así:
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>
Entonces, probablemente pueda comenzar ssh desde cygwin bash con algo como:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Archivos de programa (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh [email protected] ""
Puede que tengas que jugar con citas. Sugeriría mirar mis tareas de conemu como referencia.
cmd /c
es un exceso, de hecho, a menos que necesite configurar alguna variable de entorno antes de ejecutar ssh.exe. Si no necesita configurar el entorno, puede ejecutar ssh.exe directamente, sin "cmd / c".bash.exe -c "ssh ..."
lugar debash.exe --exec "ssh ..."
Esta es la forma más sencilla de poner en marcha una tarea SSH a través de ConEmu. Requiere un poco más de configuración, pero al final vale la pena.
Generar una clave ssh
Pasos de una excelente respuesta aquí: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen le hará algunas preguntas. Las respuestas predeterminadas están bien. Si quieres usar una frase de contraseña en blanco, también está bien. Simplemente mantenga su archivo de claves a salvo. Reemplace id, servidor y contraseña con sus credenciales.
Agregar una tarea para ssh
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
(Opcional) Establecer tarea como tarea predeterminada
Si hizo todo correctamente, su consola se iniciará y ssh en su servidor de elección, no se requiere contraseña ya que está utilizando una clave de acceso.
fuente
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
el -c ejecutará el siguiente comando de cadena automáticamente después de iniciar sesión por usted
fuente