Bắt đầu ssh trong conemu


8

Làm cách nào tôi có thể đặt lối tắt trong conEmu để tự động mở tab mới bằng cygwin và tự động bắt đầu một lệnh đã cho (giả sử, ssh)?

Câu trả lời:


6

Vì vậy, hãy bắt đầu với cách khởi chạy cygwin bash trong một tab mới. Trong ví dụ của tôi, tôi đang sử dụng bash cygwin của msys-git bởi vì đó là những gì tôi đã cài đặt:

Nhiệm vụ Git Bash

Lệnh tôi sử dụng là:

% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Chương trình tệp (x86) \ Git \ bin \ sh.exe "--login -i"

Vì vậy, đó là một vỏ tương tác. Nếu tôi muốn chạy ls từ bên trong bash cygwin, tôi có thể sử dụng sh -exec thay vì sh --login -iNó sẽ như thế này:

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>

Vì vậy, bạn có thể có thể bắt đầu ssh từ cygwin bash với một cái gì đó như:

% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Chương trình tập tin (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh Car981@linuxbox.domain.com ""

Bạn có thể phải chơi với dấu ngoặc kép. Tôi đề nghị nhìn vào các nhiệm vụ conemu của tôi để tham khảo.


3
cmd /c thực tế là quá mức, trừ khi bạn cần thiết lập bất kỳ biến môi trường nào trước khi chạy ssh.exe. Nếu bạn không cần thiết lập môi trường - bạn có thể chạy ssh.exe trực tiếp mà không cần "cmd / c".
Maximus

Nếu tôi chạy nó trực tiếp, nó không gắn liền với conemu. Tôi nên làm gì ?
Car981

1
@ Car981 Bạn cần thêm nó vào một nhiệm vụ như thế này . Đồng thời nhìn vào -new_console
Justin Dearing

2
Tôi phải sử dụng bash.exe -c "ssh ..."chứ không phảibash.exe --exec "ssh ..."
Michael

3

Đây là cách dường như vô tận nhất để có được một tác vụ SSH và chạy qua ConEmu. Yêu cầu cấu hình nhiều hơn một chút, nhưng cuối cùng nó cũng có giá trị.

Tạo khóa ssh

Các bước từ câu trả lời xuất sắc ở đây: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen sẽ hỏi bạn một vài câu hỏi. Các câu trả lời mặc định là tốt. Nếu bạn muốn sử dụng một mật khẩu trống, điều đó cũng tốt. Chỉ cần giữ keyfile của bạn an toàn. Thay thế id, máy chủ và mật khẩu bằng thông tin đăng nhập của bạn.

$ ssh-keygen -t rsa -b 2048

$ ssh-copy-id id@server password

$ ssh id@server

Thêm một nhiệm vụ cho ssh

  • Mở cài đặt ConEmu, đi đến Khởi động-> Nhiệm vụ.
  • Nhấp vào +
  • Đặt tên tác vụ gì đó (Tôi đã sử dụng "ssh")
  • Trong hộp văn bản lớn cho Lệnh, Tab, Vv, đặt một lệnh mới:
    • ""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
    • Thay thế id và máy chủ của riêng bạn

(Tùy chọn) Đặt tác vụ làm tác vụ mặc định

  • Chuyển sang cửa sổ cài đặt gốc "Khởi động"
  • Trong "Tùy chọn khởi động", chọn nút radio "Nhiệm vụ được đặt tên cụ thể"
    • Từ danh sách thả xuống, chọn tên của nhiệm vụ của bạn (ssh trong trường hợp của tôi)
  • Lưu các thiết lập

Nếu bạn đã làm mọi thứ chính xác, bảng điều khiển của bạn sẽ khởi động và ssh vào máy chủ bạn chọn, không yêu cầu mật khẩu vì bạn đang sử dụng mật mã.


2

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

-c sẽ tự động thực hiện lệnh chuỗi sau đây sau khi đăng nhập cho bạn


Các câu trả lời khác cho câu hỏi này là khá rộng rãi, bạn có thể giải thích về vấn đề này không?
bertieb

đã thêm một số chi tiết
meffect
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.