paramiko no существующее исключение сеанса

Используя интерактивную оболочку python и opensh, выполняемую локально, я продолжаю получать исключение «No existing session» с использованием paramiko. Мой код ниже.

import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('localhost',username=name,password=pw) 

Результаты в:

 No handlers could be found for logger "paramiko.transport" Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.6/dist-packages/paramiko-1.7.7.1-py2.6.egg/paramiko/client.py", line 332, in connect self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys) File "/usr/local/lib/python2.6/dist-packages/paramiko-1.7.7.1-py2.6.egg/paramiko/client.py", line 493, in _auth raise saved_exception paramiko.SSHException: No existing session 

Я смог подключиться ранее, но пытался настроить это, чтобы разрешить авторизацию на основе ключа. Это не удалось, и с тех пор я не смог подключиться локально. Я попытался перезапустить openssh и успешно подключиться к другому серверу. После поиска здесь все, что я нашел, – это упоминания об исключениях авторизации, которые, как представляется, здесь не имеют места.

4 Solutions collect form web for “paramiko no существующее исключение сеанса”

Поскольку у вас уже есть пароль, вам не нужно разговаривать с агентом или искать секретные ключи, хранящиеся на вашем компьютере. Поэтому попробуйте передать дополнительные параметры allow_agent , look_for_keys :

 ssh.connect('localhost',username=name,password=pw,allow_agent=False,look_for_keys=False) 

У меня был открытый ключ с ключевой фразой в моем списке ssh-add. Как только я удалил его, я смог правильно выполнить свой скрипт на основе paramiko.

К списку:

 ssh-add -l 

Чтобы удалить все:

 ssh-add -D 

Чтобы добавить:

 ssh-add /FULL/PATH/TO/id_rsa 

https://bugs.launchpad.net/paramiko/+bug/912123

Какую ОС вы используете? Возможно, вы можете проверить свою переменную env: SSH_AUTH_SOCK

для «connect» он попытается использовать агент ssh. в agent.py

  self.conn = None self.keys = () if ('SSH_AUTH_SOCK' in os.environ) and (sys.platform != 'win32'): conn = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) try: conn.connect(os.environ['SSH_AUTH_SOCK']) except: # probably a dangling env var: the ssh agent is gone return self.conn = conn elif sys.platform == 'win32': import win_pageant if win_pageant.can_talk_to_agent(): self.conn = win_pageant.PageantConnection() else: return 

Замените «localhost» на «127.0.0.1».

  • Как снова открыть процесс в терминале linux?
  • Какой модуль RPC следует использовать для реализации RCP в Python и возможность изменить метод подключения позже?
  • Python: отправка ключевых событий нажатия на SSH
  • Прочитать удаленный файл с использованием подпроцесса python и ssh?
  • Параллельный SSH в Python
  • python | герой | как получить доступ к пакетам через ssh
  • библиотеки python для обработки ssh
  • Тайм-аут Python Paramiko с длительным исполнением, нужен полный вывод
  • Python - лучший язык программирования в мире.