Câu trả lời:
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:
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 -i
Nó 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.
bash.exe -c "ssh ..."
chứ không phảibash.exe --exec "ssh ..."
Đâ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ị.
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
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
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ã.
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".