Answers:
因此,让我们开始介绍如何在新选项卡中启动cygwin bash。在我的例子中,我使用msys-git的cygwin bash,因为这是我安装的:
我使用的命令是:
%systemroot%\ SysWOW64 \ cmd.exe / c“”C:\ Program Files(x86)\ Git \ bin \ sh.exe“ - login -i”
这是一个交互式shell。如果我想从cygwin bash内部运行ls,我可以使用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>
所以你可以从cygwin bash开始ssh,例如:
%systemroot%\ SysWOW64 \ cmd.exe / c“”C:\ Program Files(x86)\ Git \ bin \ sh.exe“-exec”/ usr / bin / ssh Car981@linuxbox.domain.com“”
你可能不得不玩引号。我建议查看我的conemu任务以供参考。
bash.exe -c "ssh ..."
而不是bash.exe --exec "ssh ..."
这是通过ConEmu启动和运行SSH任务的最无缝的方法。需要更多配置,但最终还是值得的。
从这里的优秀答案开始:https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password。ssh-keygen会问你几个问题。默认答案很好。如果你想使用空白密码,那也没关系。保持密钥文件的安全。用您的凭据替换id,服务器和密码。
$ 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""
如果您正确地完成了所有操作,您的控制台将启动并ssh到您选择的服务器,因为您使用的是密钥,因此无需密码。
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
登录后,-c将自动执行以下字符串命令
cmd /c
实际上是多余的,除非您在运行ssh.exe之前需要设置任何环境变量。如果您不需要设置环境 - 您可以直接运行ssh.exe,而不使用“cmd / c”。