gpt4 book ai didi

python - 使用 paramiko 和 exec_command 进行 SSH

转载 作者:行者123 更新时间:2023-12-01 09:31:48 27 4
gpt4 key购买 nike

尝试使用 SSH 和 paramiko 从 Windows 服务器 SSH 到 Linux 远程连接,并使用以下代码“pwd”该服务器(我已从真实代码更改了用户/密码和服务器 IP):

import paramiko
from paramiko import SSHClient, AutoAddPolicy
LOCAL_IP=IP
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(LOCAL_IP,username=username, password=password)
client.exec_command('pwd')

我得到以下结果:

(<paramiko.ChannelFile from <paramiko.Channel 0 (open) window=24576 -> <paramiko.Transport at 0x6716710L (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>>,
<paramiko.ChannelFile from <paramiko.Channel 0 (open) window=24576 -> <paramiko.Transport at 0x6716710L (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>>,
<paramiko.ChannelFile from <paramiko.Channel 0 (open) window=24576 -> <paramiko.Transport at 0x6716710L (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>>)

SSH 连接已打开,我可以通过 Linux 服务器上的 netstat 得知我正在尝试通过 SSH 访问......

最佳答案

client.exec_command 返回一个 stdin、stdout 和 stderr 流的元组 - 您需要分配这些流并调用 read() 来获取输出:

import paramiko
from paramiko import SSHClient, AutoAddPolicy
LOCAL_IP=IP
PORT=your_port
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(LOCAL_IP, PORT, username="username", password="password")
stdin, stdout, stderr = client.exec_command("pwd")
print(stdout.read())

关于python - 使用 paramiko 和 exec_command 进行 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49896802/

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