web-dev-qa-db-ja.com

Windowsデスクトップのcygwinsshショートカット

リモートで接続する必要のあるサーバーが複数あります。私はそうするためにPuTTYよりもCygwinを好みます。

とにかく-私のクールなMinttyウィンドウを開いてから、次のコマンドを入力するプロセスには時間がかかりすぎます。 PS-私はこれらのサーバーに「キー」認証を使用しています。

まず、WindowsデスクトップからCygwinターミナルのショートカットをダブルクリックします。

次に、ターミナルセッションが起動したら、コマンドプロンプトから次のように入力します-

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

私の「サーバー名」は可変であることに注意してください。実際、そこに挿入される可能性のある約10の異なるサーバー名があります。したがって、10の異なるショートカットが必要です。デスクトップから何かをダブルクリックして、Minttyを起動し、上記のbashShellコマンドを自動的に実行したいと思います。

誰かがこれを行うためのニース/エレガントなソリューションを持っているか、推奨できますか?

5
Alex Berkoff

シェルスクリプトを作成してから、それを呼び出すminttyショートカットを用意する必要があります。まず、スクリプト:

#!/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'
4
Heptite

これを行うには、実際にはいくつかの方法があります。 sshを実行する前にリストしたコマンドを本当に実行する必要がある場合は、これらのコマンドをcygwinホームディレクトリのmysshというファイルに配置します。

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

明らかに、使用するユーザー名を<username>がある場所に配置します。

次に、次のコマンドを使用してこれを実行できます。

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

もちろん、それをBATファイルに入れることもできます。

0
HeatfanJohn