12

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

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

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

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

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

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

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

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

4

2 回答 2

13

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

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 可以find ssh。该-c部分只是介绍了命令,您应该从您的问题中识别出来。)

于 2012-08-31T12:39:19.843 回答
6

为此,我执行了以下步骤:

第 1 步:创建一个目录,我在其中安装 Cygwin,称为脚本

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

第三步: servername.sh 将有以下内容(单行):

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

(确保用适当的信息替换用户名和服务器名)

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

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

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

第七步:右键选择属性

第 8 步:在目标属性部分,我有以下代码行 -

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

并确保您的路径与您的环境相匹配!

干杯。

于 2012-08-31T16:25:07.967 回答