Comience ssh en conemu


8

¿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)?

Respuestas:


6

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:

Tarea Git Bash

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 -iSe 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 Car981@linuxbox.domain.com ""

Puede que tengas que jugar con citas. Sugeriría mirar mis tareas de conemu como referencia.


3
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".
Maximus

Sin embargo, si lo ejecuto directamente, no se adjunta a conemu. Qué tengo que hacer ?
Car981

1
@ Car981 Debe agregar eso a una tarea como esta . También mira -new_console
Justin Dearing

2
Tuve que usar en bash.exe -c "ssh ..."lugar debash.exe --exec "ssh ..."
Michael

3

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.

$ ssh-keygen -t rsa -b 2048

$ ssh-copy-id id@server password

$ ssh id@server

Agregar una tarea para ssh

  • Abra la configuración de ConEmu, vaya a Inicio-> Tareas.
  • Haga clic en +
  • Nombre tarea algo (usé "ssh")
  • En el cuadro de texto grande para Comandos, Pestañas, etc., coloque un nuevo comando:
    • ""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
    • Reemplazar id y servidor por el tuyo

(Opcional) Establecer tarea como tarea predeterminada

  • Cambie a la ventana de configuración principal "Inicio"
  • En "Opciones de inicio", seleccione el botón de opción "Tarea especificada con nombre"
    • En el menú desplegable, seleccione el nombre de su tarea (ssh en mi caso)
  • Guardar ajustes

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.


2

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


Las otras respuestas a esta pregunta son bastante expansivas, ¿puedes explicar esto?
bertieb

agregó algo más
meffect
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.