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

iva*_*ago 10 ssh bash cygwin windows-7

我有多个服务器需要远程进入.我更喜欢Cygwin而不是Putty.

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

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

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

$ eval `ssh-agent`
$ ssh-add
$ ssh <username>@<servername>
Run Code Online (Sandbox Code Playgroud)

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

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

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

me_*_*and 11

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

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
Run Code Online (Sandbox Code Playgroud)

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

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

根据需要重复其他服务器.而已!

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


iva*_*ago 6

为此,我做了以下步骤:

第1步:创建一个安装Cygwin的目录,称为脚本

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

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

eval `ssh-agent`;ssh-add;ssh user@servername
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

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

C:\Cygwin\bin\mintty.exe -e /bin/sh -l -c '/scripts/servername.sh'
Run Code Online (Sandbox Code Playgroud)

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

干杯.