Iniciar ssh no conemu


8

como posso definir um atalho no conEmu para abrir automaticamente uma nova guia com o cygwin e iniciar automaticamente um determinado comando (por exemplo, ssh)?

Respostas:


6

Então, vamos começar com como iniciar o cygwin bash em uma nova guia. No meu exemplo, estou usando o cygwin bash do msys-git porque é isso que eu instalei:

Tarefa Git Bash

O comando que eu uso é:

% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Arquivos de Programas (x86) \ Git \ bin \ sh.exe "--login -i"

Então esse é um shell interativo. Se eu quiser rodar sl de dentro do cygwin bash, posso usar em sh -exec vez de sh --login -iEle ficaria assim:

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>

Então você provavelmente pode iniciar o ssh do cygwin bash com algo como:

% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Arquivos de Programas (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh Car981@linuxbox.domain.com ""

Você pode ter que brincar com aspas. Eu sugiro olhar para minhas tarefas conemu para referência.


3
cmd /c na verdade, é excessivo, a menos que você precise configurar quaisquer variáveis ​​de ambiente antes de executar o ssh.exe. Se você não precisar configurar o ambiente - você pode executar o ssh.exe diretamente, sem "cmd / c".
Maximus

Se eu executá-lo diretamente, ele não se conecta ao conemu. O que devo fazer ?
precisa saber é o seguinte

11
@ Car981 Você precisa adicionar isso a uma tarefa como esta . Veja também -new_console
Justin Dearing

2
Eu tive que usar em bash.exe -c "ssh ..."vez debash.exe --exec "ssh ..."
Michael

3

Essa é a maneira mais aparentemente impossível de obter uma tarefa SSH em funcionamento no ConEmu. Requer um pouco mais de configuração, mas no final vale a pena.

Gere uma chave ssh

Etapas da excelente resposta aqui: /server/241588/how-to-automate-ssh-login-with-password . O ssh-keygen fará algumas perguntas. As respostas padrão estão boas. Se você quiser usar uma senha em branco, tudo bem também. Apenas mantenha seu arquivo-chave em segurança. Substitua identificação, servidor e senha por suas credenciais.

$ ssh-keygen -t rsa -b 2048

$ ssh-copy-id id@server password

$ ssh id@server

Adicionar uma tarefa para ssh

  • Abra as configurações do ConEmu, vá para Inicialização-> Tarefas.
  • Clique em +
  • Nome da tarefa algo (usei "ssh")
  • Na caixa de texto grande para Comandos, Guias, Etc, coloque um novo comando:
    • ""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
    • Substitua a identificação e o servidor pelos seus

(Opcional) Definir tarefa como tarefa padrão

  • Alterne para a janela de configuração principal "Inicialização"
  • Em "Opções de inicialização", selecione o botão de opção "Tarefa nomeada especificada"
    • No menu suspenso, selecione o nome da sua tarefa (ssh no meu caso)
  • Salvar configurações

Se você fez tudo corretamente, seu console será inicializado e ssh no servidor de sua escolha, sem necessidade de senha, pois você está usando uma senha.


2

C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"

o -c executará o seguinte comando de cadeia automaticamente após efetuar login para você


As outras respostas a essa pergunta são bastante amplas, você pode elaborar alguma coisa sobre isso?
bertieb

adicionado um pouco mais
meffect
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.