来自Windows桌面的cygwin ssh快捷方式

时间:2012-08-30 22:01:00

标签: bash windows-7 ssh cygwin

我有多个需要远程访问的服务器。 我更喜欢Cygwin而不是Putty。

Anyhows - 打开我的Mintty窗口然后输入以下命令的过程需要很长时间。 PS - 我正在对这些服务器使用“密钥”身份验证。

首先,我从Windows桌面双击Cygwin终端快捷方式。

然后,一旦终端会话启动,从命令提示符输入以下内容 -

$ eval `ssh-agent`
$ ssh-add
$ ssh <username>@<servername>

请记住我的'servername'是可变的。事实上,我有大约10个不同的服务器名称可能会插入那里 - 因此我需要10个不同的快捷方式。我更愿意双击桌面上的某些东西,它会启动我的Mintty并自动执行上面的bash shell命令。

有没有人或者可以推荐一个漂亮/优雅的解决方案来做到这一点?

(我觉得它与我点击的Windows快捷图标的Target属性有关。)

2 个答案:

答案 0 :(得分:11)

你可以毫不费力地做到这一点。复制现有的Cygwin Terminal图标,右键单击它,然后选择Properties。您应该在Target字段中看到类似下面的内容:

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

将其替换为以下内容(将<username><servername>替换为相关内容):

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico /bin/bash -l -c "eval `ssh-agent` ; ssh-add ; ssh <username>@<servername>"

根据需要重复其他服务器。就是这样!

(详细信息:我们将-参数[表示使用标准登录shell]替换为显式调用bash来运行命令。-l部分表示使用登录shell,这尤其意味着您的PATH变量已设置,因此bash可以找到ssh-c部分只介绍了您应该从问题中识别的命令。)

答案 1 :(得分:6)

为此,我做了以下步骤:

步骤1:创建一个安装了Cygwin的目录,名为scripts

步骤2:在此目录中创建名为servername.sh的BASH脚本

步骤3:servername.sh将包含以下内容(单行):

eval `ssh-agent`;ssh-add;ssh user@servername

(确保用适当的信息替换user和servername)

步骤4:创建Cygwin终端图标的快捷方式

步骤5:将其粘贴到我想要的位置(在我的桌面上 - 但您可以选择要放置的位置)。

步骤6:右键单击并重命名我的快捷方式(将其命名为我的服务器名称)

步骤7:右键单击并选择“属性”

步骤8:在Target属性部分中,我有以下代码行 -

C:\Cygwin\bin\mintty.exe -e /bin/sh -l -c '/scripts/servername.sh'

确保您的路径符合您的环境!

干杯。