SSH コマンドを使用した応答のキャプチャ [閉じる]

SSH コマンドを使用した応答のキャプチャ [閉じる]

sshpassとsshを使用してLinuxシステムにコマンドを送信し、切断します。コマンドは正しく送信されましたが、期待した応答が得られませんでした。ログイン後、ホストは5行の空行を送信し、5行のバナーを送信することを確認しました。

sshコマンド(コマンドを引数として渡すとき)は、最初の空行のみを返すようです。すべてのテキストを返す方法はありますか? (または返す前にすべてのテキストをキャプチャするために5秒間待ってください)


コマンドは次のようになり、応答を Bash 変数としてキャプチャします。

RESPONSE=$(sshpass .... ssh..... "my command")

ベストアンサー1

これにより、ホストの出力をキャプチャできます。

user@host /tmp# output=$(ssh login@domain "ls")
login@domain's password:
user@host /tmp# echo $output
file1
file2
file3

別の解決策は、出力だけでなくバナーを含むすべてを記録するので、はるかに優れています。

ssh user@domain |tee /tmp/output

ここで、/tmp/output にはログ全体が含まれます。

おすすめ記事