Windows桌面上的cygwin ssh快捷方式


5

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

总之-打开我的Mintty窗口,然后键入以下命令的过程耗时太长。PS-我正在对这些服务器使用“密钥”身份验证。

首先,我在Windows桌面上双击Cygwin Terminal快捷方式。

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

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

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

有没有人可以推荐一个好的/优雅的解决方案?

Answers:


4

您需要创建一个shell脚本,然后有一个调用它的薄荷快捷方式。一,脚本:

#!/bin/bash

eval `ssh-agent`
ssh-add
read -p "Username: "
username=$REPLY
read -p "Host: "
host=$REPLY
ssh $username@$host
eval `ssh-agent -k`

将其另存为:〜/ bin / CygwinMinttySsh.sh

确保脚本是可执行的:chmod a + rx〜/ bin / CygwinMinttySsh.sh

然后创建一个新的快捷方式到C:\ cygwin \ bin \ mintty.exe,然后右键单击它并选择“属性”,然后将目标更改为:

C:\cygwin\bin\mintty.exe -e /bin/sh -l -c '$HOME/bin/CygwinMinttySsh.sh'

我尝试了这一点-但是当我双击快捷方式图标时-薄荷窗口出现了片刻,然后消失了。
亚历克斯·伯科夫

确保您的脚本路径正确。另外,请确保将脚本本身设置为可执行文件(chmod a + rx〜/ bin / CygwinMinttySsh.sh),并确保该脚本可以从现有Shell正确运行(这样您就可以看到错误消息)。
Heptite

出色的工作庚烷。给我冲泡,然后把账单发给我。干杯!
亚历克斯·伯科夫

我只是意识到,您可能想在脚本末尾杀死ssh-agent。我的答案已被修改。
Heptite 2012年

0

实际上,您可以通过两种方法来执行此操作。如果确实需要在执行之前运行列出的命令ssh,则将这些命令放入mysshcygwin主目录中的文件中。

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

显然,将您要使用的用户名放在您拥有的位置<username>

然后,可以使用以下命令运行此命令:

c:\cygwin\bin\bash --login myssh <servername>

您当然可以将其放入BAT文件。


我查看了您的方法,它也可以工作,但是它不如上面的方法干净。谢谢您的答复。
Alex Berkoff 2012年

是的,我+1了@Heptite的解决方案……
HeatfanJohn 2012年
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.