リモートサーバーからの出力リダイレクト

リモートサーバーからの出力リダイレクト

リモートUbuntuサーバーのcentosローカルコンピュータで次のコマンドを実行しようとしています。しかし、それは起こりませんでした。

ssh -t hostname su - -s /bin/bash bar "/home/bar/get_list.sh >> output-1"

上記のコマンドの実行中にこのエラーが発生します。

Connection to 192.11.13.2 closed.

スクリプトはリモートシステムにあり、出力をローカルシステムにリダイレクトしようとしています。

実行するとパスワードを要求し、出力データが表示されます。

ssh -t HOSTNAME su - -s "/bin/bash USERNAME '/path/to/script.sh'"

ただし、リダイレクトとして実行すると、>>パスワードを要求せずに接続が閉じられたと表示されます。

トラブルシューティング

ここでいくつかのトラブルシューティングを行っており、リダイレクトしようとしていますが、>>変更すると>ファイルが作成されているというメッセージが表示されますoutput-1

これはファイルの出力です。

cat output-1
Password:



su: Authentication failure

ベストアンサー1

これConnection to 10.11.143.72 closed. 場合によってはこれは、コマンドの実行が成功したが、ファイルがローカルではremote-hostなくローカルで作成されたことを示します。

結果をlocalhostに書き込むには、コマンドの外部にリダイレクトされた出力を配置します。

ssh -t hostname su - -s /bin/bash bar "/home/bar/get_list.sh" >> output-1

または、次の構文でコマンドを使用することをお勧めします(コマンドを一般化しました)。

ssh -t HOSTNAME su - -s "/bin/bash USERNAME '/path/to/script.sh'" >> inlocal.log

おすすめ記事