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