Вы не можете заставить Paramiko использовать oursshbinary
в качестве реализации SSH.Вы даже не можете заставить его использовать ssh
.
Paramiko сам по себе ssh
.
Он такой же (как вы знаете сейчас), как если бы вы хотели ssh
использовать oursshbinary
(это не имеет смысла).Вы должны будете заставить Парамико делать то, что делает oursshbinary
.Но мы не знаем, что делает oursshbinary
по сравнению с ssh
.
Ответ на предыдущую версию вашего вопроса:
Переключатель -S
клиента OpenSSH ssh
создает общий доступ к соединению, который может использоваться другими экземплярами ssh
или другие инструменты OpenSSH (например, sftp
).
Paramiko не поддерживает совместное использование соединений.На самом деле это не имеет смысла.
Совместное использование соединений имеет смысл для инструментов / приложений.Один экземпляр инструмента создает соединение, а другие экземпляры того же или другого инструмента могут повторно использовать соединение.
Но вам это не нужно в скрипте / при программировании.У вас есть экземпляр сеанса SSH.Вы можете использовать его для нескольких целей в вашем скрипте / программе.Другими словами, вы можете поделиться вашим экземпляром.
В частности, с SSH совместное использование соединения OpenSSH открывает отдельный канал SSH для клиента совместного использования.С Paramiko вы также можете открывать несколько отдельных каналов через одно и то же соединение SSH.Это то, что делают методы типа Transport.open_sftp_client
(или SSHClient.open_sftp
), Transport.open_session
(SSHClient.invoke_shell
, SSHClient.exec_command
).Все они внутренне звонят Transport.open_channel
.Вы можете вызывать все это столько раз, сколько вам нужно, для одного сеанса SSH.