从Windows桌面创建Cygwin SSH快捷方式

12

我有多个需要远程登录的服务器。 我更喜欢使用Cygwin而不是Putty。

无论如何,打开我的酷炫Mintty窗口然后输入以下命令的过程太长了。 PS - 我正在使用"密钥"身份验证登录这些服务器。

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

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

$ eval `ssh-agent`
$ ssh-add
$ ssh <username>@<servername>
请注意,我的'servername'变量是可变的。实际上,我有大约10个不同的服务器名称可以潜在地插入其中 - 因此我需要10个不同的快捷方式。我希望从我的桌面双击某些东西,它会启动我的Mintty并自动执行上述bash shell命令。
有人有或者能推荐一个好/优雅的解决方案来做到这一点吗?
(我有一种感觉它与我点击的Windows快捷图标的目标属性有关。)
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可以找到 ssh-c 部分只是引入了命令,这些命令应该与您提出的问题相似。)


6
为了完成这个任务,我采取了以下步骤:
步骤1:创建一个目录,并在其中安装Cygwin,命名为scripts。
步骤2:在该目录下创建一个BASH脚本,命名为servername.sh。
步骤3:servername.sh应包含以下内容(一行代码):
eval `ssh-agent`;ssh-add;ssh user@servername

确保将用户和服务器名称替换为适当的信息

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

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

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

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

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

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

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

干杯。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接