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部分只介绍了您应该从您的问题中识别的命令.)
为此,我做了以下步骤:
第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)
并确保您的路径与您的环境相匹配!
干杯.