-2

10 台の Linux サーバーがあります。毎回サーバーに接続するには、ssh コマンドを実行してログインする必要があります。リモート サーバーにログインするには、1 つのシェル スクリプトが必要です。たとえば、サーバーがホスト名であり、ターミナルで ユーザー名を指定したときにtesthost.comユーザーがuser1パスである場合、シェルスクリプトが自動的に実行され、ユーザーのリモートサーバーにログインする必要がありますpassworduser1user1

4

2 に答える 2

1

こんにちは、これは古い質問であることは知っていますが、@nick hartung の上記のリンクをたどる方法があります。その後、10 台のサーバーがあるため、各サーバーを名前で呼び出すので、「server1」または好きな名前を言ってください。この例では、サーバーの 1 つに「server1」という名前を付けます。また、ポートを 22 から別の名前 (22277 など) に変更することを忘れないでください。そのため、スクリプトを作成して server1 という名前を付け、これをその中に入れます。

#!/bash/bin
ssh username@hostname -p22277

次に、スクリプトをユーザービンに移動します

$ sudo chmod 600 server1
$ sudo mv server1 /usr/bin/

次に、このようにリモートホストにログインできます

$ server1

自動的にログインされます。

于 2013-08-11T16:56:24.263 に答える
0

ユーザー名をパラメーターとして受け取り、それに基づいて正しいホストに ssh するスクリプトを作成できます。簡単な例:

if [ "$1" == "username" ]; then
   ssh username@hostname
fi
if [ "$1" == "username2" ]; then
...

ただし、sshコマンドには、パスワードを提供する方法が組み込まれていません。とにかく、パスワードをスクリプトに保存するべきではありません。これを回避するには、ssh-keygen を使用してキー ペアを作成し、自動認証を設定します。これを設定する方法を示すリンクを次に示します

于 2012-12-04T14:24:20.313 に答える