3

ANT / SSHEXECコマンドを使用して問題を解決しようとしています。

セットアップ:

ランタイム アクティビティに NIS および役割ベースのユーザーを使用する Solaris サーバー。

RBAC アカウントに直接ログインすることはできません。個人ユーザーとして接続し、そのユーザーに su を実行する必要があります。この環境では SUDO はオプションではないことをお伝えしました。

そのため、シナリオは、リモートサーバーで一連のスクリプトを構築、展開、および実行するためのANTスクリプトを構築しています。

これは私のユーザーとして実行されているため、ビルドとデプロイは問題ありませんが、SSHEXEC を使用して su -c $user に接続しようとすると、シェルがパスワード プロンプトで応答するという問題がありますが、何も入力できません。

したがって、ここでは、パスワードを入力して続行できるソリューションか、入力した変数としてパスワードをプロンプトに渡す方法が必要です。

現在使用しているコードは次のとおりです。

<target name="install-products">
  <sshexec host="${remote.host1}" 
    username="${remote.user}" 
    password="${remote.pwd}"
    command="/usr/bin/su - $user -c cd ${remote.install.dir}/OracleSunJDK;./installJAVA.sh -p project -e 935"
    usepty="true"
    trust="true"
    failonerror="true"/>
</target>

したがって、ユーザーとして接続しています。たとえば、 ssh -t cambolie@${remote.host1}... のようにユーザーとパスワードが渡され、その su -c によりプロンプトが表示されます。

これは現在起こっていることです:

install-products:
[sshexec] Connecting to ${remote.host1}:22
[sshexec] cmd : /usr/bin/su - ${su-user}  -c cd /var/tmp/weblogic/RP_WEBLOGIC_J2EE_1.0.0.0/install/OracleSunJDK;./installJAVA.sh -p project -e 935
[sshexec] Password:

この段階でハングするだけです。

誰でも助けることができますか?

4

2 に答える 2

0

以下は、考えられる解決策の 1 つです。

  1. scpホスト マシンからターゲット マシンへのキーベースのセットアップ 。
  2. ビルド スクリプトをscpマーカー ファイル (つまりbegin.install、ゼロ バイト ファイル)に変更します。
  3. ターゲット マシンで cron をセットアップしてマーカー ファイルを探し、見つかったら、そのサーバーで実行する一連の手順を開始します。完了したら、マーカー ファイルを削除します。
于 2013-05-22T18:18:23.420 に答える
0

これは私のために働いた:

   <property name="password" value="MYPASS"/>

    <!-- Keep the closing property tag on the new line as su needs the CR/LF-->
    <property name="password.crlf">${password}<!-- do not remove the CR/LF-->
    </property>
    <!-- Keep the closing property tag on the new line as su needs the CR/LF-->

  <sshexec host="${server}"
                 username="${username1}"
                 password="${password1}"
                 trust="yes"
                 verbose="yes"
                 usepty="true"
                 inputproperty="password.crlf"
                 command="su - otheruser -c ls"
        />
于 2020-10-21T06:49:35.003 に答える