0

現在、PC1 と PC2 の 2 台の PC があります。PC1 に Ant スクリプトがあり、スクリプトは sshexec タスクを使用して PC2 で bash コマンドを実行します。スニペットは次のようになります。

<sshexec 
 host="${IPofPC2}"
 username="${USERofPC2}"
 password="${PASSofPC2}"
 command='echo "Hello World!"'
 trust="true"></sshexec>

実際には、コマンドは複雑なものecho "Hello World!"です。例を挙げます。

PC2で実行されたコマンドが正確に何であるかを見たいのですが、方法がわかりません。私はグーグルで検索.bash_historyし、sshのような端末を使用して1回ログインするだけで、リモートで実行されたコマンドを保存できることを発見しました。

これは役立つようですが、成功しなかったため、.bash_historyファイルは sshexec タスクによってリモートで実行されたコマンドを記録しません。

だからSOS、助けてください。前もって感謝します。

編集:

#/etc/syslog.conf
!sshd
*.*     /var/log/sshd.log

添付ファイル:

$cat /var/log/sshd.log

12 月 8 日 17:36:29 brownshen launchproxy[1373]: /usr/libexec/sshd-keygen-wrapper: 接続元: 10.224.105.186、ポート: 4090 12 月 8 日 17:36:30 brownshen sshd[1376]: in pam_sm_authenticate( ): Kerberos プリンシパル名を特定できませんでした。12 月 8 日 17:36:30 Brownshen sshd[1374]: 10.224.105.186 ポート 4090 ssh2 からの zhouvega のキーボード インタラクティブ/pam を受け入れました。 17:36:30 brownshen com.apple.SecurityServer[23]: セッション 0x3096eb 属性 0x20 12 月 8 日 17:36:30 brownshen com.apple.SecurityServer[23]: セッション 0x3096eb が 12 月 8 日 17:36:30 brownshen com.apple .SecurityServer[23]: 認証ホストの強制終了 12 月 8 日 17:36:30 ブラウンシェン com.apple.SecurityServer[23]: セッション 0x3096eb が破壊されました

4

2 に答える 2

0

スクリプトが実際に Bash によって実行されていることを確認する必要がありますsh。次に、これらをスクリプトの先頭に追加します。

HISTFILE=$HOME/.bash_history 
set -o history

ユーザーの対話履歴とは別に履歴を保存するには、別のファイルを選択してください。を使用set -o historyして、履歴の保存をオンまたはset +o historyオフにすることができます。これを選択的に使用して、スクリプトの一部のみを保存できます。

これをスクリプトの最後に追加して、メモリ内の履歴をファイルに書き込みます。

history -w

このHISTSIZE変数は、メモリに保存される履歴の行数に影響することに注意してください。デフォルトは 500 で、実行中のスクリプトによってすぐにいっぱいになる可能性があります。HISTFILESIZE変数もデフォルトで 500 に設定され、同じ問題が適用されます。スクリプトでこれらの変数をより大きな値に設定し、HISTFILESIZE' also in the user's startup file (e.g.~/.bashrc` を設定する必要がある場合があります。これにより、同じ履歴ファイルを使用している場合、インタラクティブな使用中に切り捨てられなくなります。

一部の用途では、履歴を使用する代わりに、set -xトレースをオンにして stdout をファイルにキャプチャするために使用できることに注意してください。

于 2010-12-08T11:29:07.620 に答える
0

これを見てください:http://www.unix.com/unix-advanced-expert-users/4722-ssh-command-logging.html

私が最初に考えたのは、passwd で指定されたシェルを、すべての入力をログに記録するシェル ラッパーに変更できるということでしたが、sshd アプローチの方が優れていると思います。

また、正当な理由 (ユーザー入力) がない限り、パスワードを保存する代わりに、自動ログインに SSH キーを使用する必要があります。

于 2010-12-08T07:22:09.280 に答える