Почніть ssh в conemu


8

як я можу встановити ярлик у conEmu, щоб автоматично відкрити нову вкладку з cygwin та автоматично запустити задану команду (скажімо, ssh)?

Відповіді:


6

Тож давайте почнемо з того, як запустити cygwin bash на новій вкладці. У своєму прикладі я використовую cygwin bash msys-git, тому що це те, що я встановив:

Завдання Git Bash

Я використовую команду:

% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ програмні файли (x86) \ Git \ bin \ sh.exe "--login -i"

Отже, це інтерактивна оболонка. Якщо я хочу запустити ls зсередини cygwin bash, я можу використовувати sh -exec замість нього. sh --login -iЦе виглядатиме так:

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>

Таким чином, ви можете, можливо, почати ssh з cygwin bash з чогось типу:

% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ програмні файли (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh Car981@linuxbox.domain.com ""

Можливо, вам доведеться пограти з цитатами. Я б запропонував для ознайомлення переглянути мої завдання conemu .


3
cmd /c насправді є надлишком, якщо вам не потрібно встановити будь-які змінні середовища перед запуском ssh.exe. Якщо вам не потрібно налаштовувати середовище - ви можете запустити ssh.exe безпосередньо, без "cmd / c".
Максим

Якщо я запускаю його безпосередньо, він не додається до conemu. Що я повинен зробити ?
Car981

1
@ Car981 Вам потрібно додати це до подібного завдання . Також дивіться на -new_console
Джастін Dearing

2
Мені довелося скористатися, bash.exe -c "ssh ..."а неbash.exe --exec "ssh ..."
Майкл

3

Це найнеподібніший спосіб підняти завдання SSH через ConEmu. Вимагає трохи більшої конфігурації, але вона зрештою того варта.

Створіть ключ ssh

Кроки від чудової відповіді тут: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen задасть вам кілька питань. Відповіді за замовчуванням прекрасні. Якщо ви хочете пройти з чистою парольною фразою, це теж добре. Просто бережіть свій файл файлів ключів. Замініть ідентифікатор, сервер та пароль своїми обліковими записами.

$ ssh-keygen -t rsa -b 2048

$ ssh-copy-id id@server password

$ ssh id@server

Додайте завдання для ssh

  • Відкрийте налаштування ConEmu, перейдіть у розділ Запуск-> Завдання.
  • Клацніть +
  • Назвіть завдання щось (я використав "ssh")
  • У великому текстовому полі для команд, вкладок, тощо потрібно розмістити нову команду:
    • ""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
    • Замініть ідентифікатор і сервер на свій

(Необов’язково) Поставте завдання як завдання за замовчуванням

  • Перехід до батьківського вікна налаштування "Запуск"
  • У розділі "Параметри запуску" виберіть перемикач "Зазначена названа задача"
    • У спадному меню виберіть назву свого завдання (ssh в моєму випадку)
  • Збережіть налаштування

Якщо ви все зробили правильно, ваша консоль запуститься та запуститься на ваш сервер за вибором, не потрібно вводити пароль, оскільки ви використовуєте ключ доступу.


2

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

-c виконає наступну команду рядка автоматично після входу для вас


Інші відповіді на це питання є досить розширливими, чи можете ви взагалі детальніше розглянути це?
bertieb

додав ще трохи
meffect
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.