スクリプトを介して複数のssh接続に接続する

solalito

スクリプトを使用してssh接続を自動的に入力しようとしています。この以前のSOFの投稿は、これまでのところ私を助けてくれました。1つの接続を使用すると機能します(最初のsshステートメント)。ただし、接続したら別のssh接続を作成したいので、次のようになります。

#! /bin/bash
# My ssh script

sshpass -p "MY_PASSWORD1" ssh -o StrictHostKeyChecking=no *my_hostname_1*
sshpass -p "MY_PASSWORD2" ssh -o StrictHostKeyChecking=no *my_hostname_2*

スクリプトを実行すると、に接続されるだけで、最初の接続を終了するまでmy_hostname_12番目のsshコマンドは実行されませんssh

私は次のifようなステートメントを使用してみました

if [ "$HOSTNAME" = my_host_name_1 ]; then
    sshpass -p "MY_PASSWORD2" ssh -o StrictHostKeyChecking=no *my_hostname_2*
fi

しかし、最初の接続を終了するまで、コマンドを読み取ることができません。

zerodiff

@lihaoによって提案されたProxyCommandの例を次に示します。

#!/bin/bash

sshpass -p "MY_PASSWORD2" ssh -o StrictHostKeyChecking=no \
    -o ProxyCommand='sshpass -p "MY_PASSWORD1" ssh m_hostname_1 netcat -w 1 %h %p' \
    my_hostname_2

最初のホストを介してプロキシし、2番目のホストに到達します。これは、にnetcatインストールされいることを前提としていますmy_hostname_2そうでない場合は、インストールする必要があります。

これを~/.ssh/configファイルに設定して、コマンドラインでプロキシを使用する必要がないようにすることもできます

Host my_hostname_1
    HostName my_hostname_1

Host my_hostname_2
    HostName my_hostname_2
    ProxyCommand ssh my_hostname_1 netcat -w 1 %h %p

ただし、これはパスワードの処理に関して少し注意が必要です。sshpassここに置くこともできますが、パスワードをプレーンテキストにするのは良い考えではありません。キーベースの認証を使用する方が良い場合があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

スクリプトを介して別のsshからsshに接続する

分類Dev

シェルスクリプトを介して3つのOpenVPN接続を接続する

分類Dev

複数の接続を処理するPHPスクリプト

分類Dev

ソケット接続を介して複数のリクエストを送信します

分類Dev

SASバッチジョブ:同じローカルサーバー接続を介して複数のスクリプトを実行する

分類Dev

ssh 接続を介して別のスクリプトから実行する bash スクリプトを呼び出す方法

分類Dev

AWS GluePythonスクリプトを介してPostgresに接続します

分類Dev

Androidアプリケーションを介して複数のBLEデバイスを接続する方法は?

分類Dev

複数のサーバーに SSH で接続し、ログインに失敗した場合は続行する Bash スクリプト

分類Dev

VPNを介してクライアントのネットワークに接続されているホストにリモート接続する

分類Dev

同じネットワーク上の複数のマシンを介してubunturunnningrmateに接続する

分類Dev

スクリプトを使用してcrontab逆SSH接続を作成する

分類Dev

スクリプトを使用してcrontab逆SSH接続を作成する

分類Dev

sshトンネルを介してLANリソースに接続します

分類Dev

直接イーサネット接続を介してSSH経由でデバイスに接続する方法

分類Dev

スクリプトの終了時にssh接続を強制的に終了する方法

分類Dev

リモートデスクトップを介してLightScribeドライブをVMに接続する

分類Dev

リモートデスクトップを介してLightScribeドライブをVMに接続する

分類Dev

VMにSSH接続してスクリプトを実行するエイリアス

分類Dev

リモートデスクトップ接続を介してホストのスマートカードリーダーにアクセスする

分類Dev

リモートデスクトップ接続を介してホストのスマートカードリーダーにアクセスする

分類Dev

bashスクリプトを介してftpサーバーに接続する方法は?

分類Dev

Pythonスクリプトを介してApacheHTTPServerからMSSQLServer2017に接続する

分類Dev

Spring Kafkaを使用して複数のKafkaクラスターに接続する

分類Dev

Dockerを介してVPNに接続するためのベストプラクティス

分類Dev

Entity FrameworkCoreを介して複数のデータベースを.NETCoreプロジェクトに接続します

分類Dev

他の人が私のPCのリモートデスクトップを介して接続しているときに私のPCを使用する方法

分類Dev

libcurl は複数の同時リクエストに対して 1 つの接続を使用します

分類Dev

Pythonスクリプトを使用してサーバーにSSHで接続する

Related 関連記事

  1. 1

    スクリプトを介して別のsshからsshに接続する

  2. 2

    シェルスクリプトを介して3つのOpenVPN接続を接続する

  3. 3

    複数の接続を処理するPHPスクリプト

  4. 4

    ソケット接続を介して複数のリクエストを送信します

  5. 5

    SASバッチジョブ:同じローカルサーバー接続を介して複数のスクリプトを実行する

  6. 6

    ssh 接続を介して別のスクリプトから実行する bash スクリプトを呼び出す方法

  7. 7

    AWS GluePythonスクリプトを介してPostgresに接続します

  8. 8

    Androidアプリケーションを介して複数のBLEデバイスを接続する方法は?

  9. 9

    複数のサーバーに SSH で接続し、ログインに失敗した場合は続行する Bash スクリプト

  10. 10

    VPNを介してクライアントのネットワークに接続されているホストにリモート接続する

  11. 11

    同じネットワーク上の複数のマシンを介してubunturunnningrmateに接続する

  12. 12

    スクリプトを使用してcrontab逆SSH接続を作成する

  13. 13

    スクリプトを使用してcrontab逆SSH接続を作成する

  14. 14

    sshトンネルを介してLANリソースに接続します

  15. 15

    直接イーサネット接続を介してSSH経由でデバイスに接続する方法

  16. 16

    スクリプトの終了時にssh接続を強制的に終了する方法

  17. 17

    リモートデスクトップを介してLightScribeドライブをVMに接続する

  18. 18

    リモートデスクトップを介してLightScribeドライブをVMに接続する

  19. 19

    VMにSSH接続してスクリプトを実行するエイリアス

  20. 20

    リモートデスクトップ接続を介してホストのスマートカードリーダーにアクセスする

  21. 21

    リモートデスクトップ接続を介してホストのスマートカードリーダーにアクセスする

  22. 22

    bashスクリプトを介してftpサーバーに接続する方法は?

  23. 23

    Pythonスクリプトを介してApacheHTTPServerからMSSQLServer2017に接続する

  24. 24

    Spring Kafkaを使用して複数のKafkaクラスターに接続する

  25. 25

    Dockerを介してVPNに接続するためのベストプラクティス

  26. 26

    Entity FrameworkCoreを介して複数のデータベースを.NETCoreプロジェクトに接続します

  27. 27

    他の人が私のPCのリモートデスクトップを介して接続しているときに私のPCを使用する方法

  28. 28

    libcurl は複数の同時リクエストに対して 1 つの接続を使用します

  29. 29

    Pythonスクリプトを使用してサーバーにSSHで接続する

ホットタグ

アーカイブ