Paramiko Invoke Shell Ошибка «Term Environment Variable не установлен»? - PullRequest
0 голосов
/ 12 января 2020

У меня проблемы с написанием скрипта, который будет переходить на сервер (1), а затем поворачиваться (S SH) на сервер (2). В настоящее время я использую Idle для написания этого скрипта. Мой клиентский компьютер, на котором я выполняю скрипт, windows10. Я получаю сообщение об ошибке: «Переменная окружения b'TERM не установлена». Я полагаю, что он не может скомпилироваться из-за vty-сессий, которые должны быть согласованы между клиентом и сервером1 для Appliance2, однако это моя теория.

Ошибка

b'TERM environment variable not set.

I ' Я не слишком уверен, но будет ли эта ошибка простаивать, или это действительно ошибка сценария? Я на самом деле новичок в написании сценариев и я проверил документацию, но не было ясно, как обрабатывать термин. Аргументы, которые я могу передать с помощью оболочки invoke, ограничены arg и kwg, но не имеют диапазона, подобного stnderr, который дает больше аргументов для передачи.

Engli sh не мой родной язык, пожалуйста, прости меня.

import paramiko
import pyautogui
import os
import sys



#Key Managment, Exception, and Build Connections
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

#Connect to Jump
client.connect('1.1.1.1', username='username', password='password', port='22')

#Invoke Shell Paramiko Object for Multiple Commands
channel = client.get_transport().open_session()
channel.invoke_shell()

# ***** CMD[1] SSH SEC DEV*****
channel.send('ssh 2.2.2.2\n')

# ***** CMD[2] Auth *****
channel.send('password\n')

# ***** CMD[3] Access Shell ***** 
channel.send('shell\n')

# ***** CMD[4] Navigate Directory Path *****
channel.send('cd'+' '+'LINUX PATH\n')
#CMD4 = (channel.recv_stderr(1024))

# ***** CMD[5] Excute Command *****
channel.send('ls -l\n')
CMD5 = (channel.recv_stderr(2048))
print (CMD5)

Спасибо,

...