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

Carro981
fonte

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 [email protected] ""

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

Justin Dearing
fonte
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.

codepringle
fonte
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ê

meffect
fonte
As outras respostas a essa pergunta são bastante amplas, você pode elaborar alguma coisa sobre isso?
bertieb
adicionado um pouco mais
meffect