SSHパスワードなしの接続の問題

SSHパスワードなしの接続の問題

他のサーバーから出力を取得する際に問題があります。パスワードのない接続が可能です。

df -kh次のように動作すると仮定します(sshを実行し、別のサーバーからo / pを取得します)。

[user1@meylvmacs01 ~]$ssh [email protected]  df -kh

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              99G   11G   83G  12% /
tmpfs                  32G   76K   32G   1% /dev/shm
/dev/sda1             200M  264K  200M   1% /boot/efi
/dev/sda4              55G  8.3G   44G  16% /opt/SP
/dev/sda5              55G   30G   23G  58% /var/SP
172.22.27.141:/root_vdm_1/GDSP_Commmon_NAS
                      493G  227G  266G  47% /var/SP/nfs/gdsp
[m2muser@meylvmacs01 ~]$

ただし、次の操作を行うと、次のエラーが発生します。

ssh [email protected] sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1

他のサーバーの次のディレクトリにsqlplus exeが存在しますが、/opt/SP/apps/instantclient_11_2/bin

[user1@meylvmacs01 tmp]$ssh [email protected] sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1
bash: sqlplus: command not found

このタスクを正常に実行するには、どのオプションを渡す必要がありますか?

答え1

システムに統合されていないアプリケーション(デフォルトディレクトリとは異なるディレクトリにインストール、デフォルト以外のパスからライブラリをロードする)がありますが、正しく設定されていないと、いくつかの問題が発生する可能性があります。このように構成できますが、.bashrc対話型シェルではないコマンドのみを実行する場合は、通常この操作をスキップします。 2つのオプションがあります。

  • 標準入力を使用してサーバーにコマンドを送信します。

    echo "sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1" | ssh -tt [email protected]
    
  • 非対話型コマンドがそれをスキップしないように、起動(または他の起動ファイル)でPATH環境LD_LIBRARY_PATH変数を変更します。~/.bashrc通常、次の内容が含まれています。

    # If not running interactively, don't do anything
    case $- in
        *i*) ;;
          *) return;;
    esac
    # your commands ...
    

    編集内容を追加しPATHLD_LIBRARY_PATHもう一度やり直してください。

関連情報