在conemu开始ssh


8

如何在conEmu中设置快捷方式以使用cygwin自动打开新选项卡,并自动启动给定命令(例如,ssh)?

Answers:


6

因此,让我们开始介绍如何在新选项卡中启动cygwin bash。在我的例子中,我使用msys-git的cygwin bash,因为这是我安装的:

Git 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任务以供参考。


3
cmd /c 实际上是多余的,除非您在运行ssh.exe之前需要设置任何环境变量。如果您不需要设置环境 - 您可以直接运行ssh.exe,而不使用“cmd / c”。
Maximus 2013年

如果我直接运行它,它不会附加到conemu。我该怎么办 ?
Car981 2013年

1
@ Car981你需要将它添加到这样的任务中。另请参阅-new_console
Justin Dearing

2
我必须使用bash.exe -c "ssh ..."而不是bash.exe --exec "ssh ..."
迈克尔

3

这是通过ConEmu启动和运行SSH任务的最无缝的方法。需要更多配置,但最终还是值得的。

生成一个ssh-key

从这里的优秀答案开始: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

为ssh添加任务

  • 打开ConEmu设置,转到Startup-> Tasks。
  • 点击+
  • 命名任务(我使用“ssh”)
  • 在命令,选项卡等的大文本框中,放置一个新命令:
    • ""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
    • 用您自己的id替换id和server

(可选)将任务设置为默认任务

  • 切换到父设置窗口“Startup”
  • 在“启动选项”中,选择“指定的命名任务”单选按钮
    • 从下拉列表中选择您的任务名称(在我的情况下为ssh)
  • 保存设置

如果您正确地完成了所有操作,您的控制台将启动并ssh到您选择的服务器,因为您使用的是密钥,因此无需密码。


2

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

登录后,-c将自动执行以下字符串命令


这个问题的其他答案非常广泛,你能详细说明吗?
bertieb 2017年

增加了一些
2017年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.