ssh senha menos problema de conectividade

0

Enfrentando problemas ao obter saída de outro servidor. A conectividade sem senha está disponível.

Suponha que quando eu estou fazendo df -kh com abaixo, está funcionando (fazendo ssh e obtendo o / p de outro servidor)

[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 ~]$

Mas quando estou fazendo abaixo, estou recebendo o seguinte erro:

ssh [email protected] sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1

embora o sqlplus exe esteja presente em outro servidor abaixo do diretório /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

Qual é a opção que deve ser passada para que isso seja executado com sucesso?

    
por Ravinder Kukreja 01.05.2017 / 12:22

1 resposta

0

Você tem um aplicativo que não está integrado no sistema (instalado no diretório diferente do padrão, carregando bibliotecas de caminhos não padrão), o que causa alguns problemas se não estiver bem configurado. É provavelmente configurado em .bashrc ou mais, mas isso é principalmente ignorado no caso de você executar apenas um comando e não o shell interativo. Existem duas opções:

  • Use a entrada padrão para obter o comando para o servidor:

    echo "sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1" | ssh -tt [email protected]
    
  • Corrija a iniciação da variável de ambiente PATH e LD_LIBRARY_PATH em ~/.bashrc (ou outros arquivos de inicialização) para que eles não sejam ignorados para comandos não interativos. Geralmente contém algo como

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

    Basta adicionar a modificação PATH e LD_LIBRARY_PATH acima e tente novamente.

por 01.05.2017 / 16:14

Tags