gpt4 book ai didi

python - Paramiko BindAddress 选项

转载 作者:行者123 更新时间:2023-11-28 19:18:54 27 4
gpt4 key购买 nike

我正在尝试使用 paramiko 连接到远程主机。但是,为了连接,我需要指定一个绑定(bind)地址,您可以通过以下方式使用 OpenSSH 执行此操作:

ssh -o BindAddress=x.x.x.x user@host

我一直在 paramiko SSHClient 文档中四处寻找等效选项,但似乎找不到。这似乎是一个标准选项。有人能指出我正确的方向吗?我是否需要创建一个单独的套接字连接并使用它?

最佳答案

来自 ssh_config 手册:

BindAddress Use the specified address on the local machine as the source address of the connection.

您可能会为客户端的连接函数提供一个套接字,因此您可能会在套接字中绑定(bind)源地址。

例子:

import socket
import paramiko

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.bind(('192.168.223.21', 0)) # set source address
sock.connect(('192.168.223.23', 22)) # connect to the destination address

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('192.168.223.23',
username=username,
password=password,
sock=sock) # pass socket to Paramiko

文档:http://docs.paramiko.org/en/2.4/api/client.html ).

connect(hostname, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, compress=False, sock=None, gss_auth=False, gss_kex=False, gss_deleg_creds=True, gss_host=None, banner_timeout=None, auth_timeout=None, gss_trust_dns=True, passphrase=None)

sock (socket) – an open socket or socket-like object (such as a Channel) to use for communication to the target host

关于python - Paramiko BindAddress 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29499264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com