gpt4 book ai didi

python - 使用 python SSH 和 telnet 到本地主机

转载 作者:行者123 更新时间:2023-12-01 04:51:42 26 4
gpt4 key购买 nike

我是Python新手,如果这个问题很菜鸟,我深表歉意。简而言之,我需要编写一个脚本,通过 ssh 连接到远程,然后远程登录到本地主机并在 shell 上执行命令。

我正在使用Python 2.4.3。我在这里阅读了很多类似的问题,很多人建议使用 Paramiko、Pexpect 等模块。但是这是不可能的 - 我应该只使用“ native ”2.4.3 库。我尝试过使用子进程模块,并且我已经设法连接到远程 shell(但是我需要提供密码 - 我想通过在脚本中提供密码来避免这种情况) - 但我仍然需要做一个telnet 到本地主机并在不同的 shell 上执行一些命令。

有人可以这么好心给我一些提示吗?提前致谢。

TL;DR 我正在寻找这个 bash 命令的 python 替代品:

./sshpass -p 密码 ssh 用户名@$ip -t "(sleep 1;echo "command"; sleep 1) | telnet localhost $port;exit;bash">>testing.txt

最佳答案

简单搜索后:

远程登录: link

import getpass
import sys
import telnetlib

HOST = "hostname"

user = raw_input("Enter your remote account: ")

password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")

tn.write(user + "\n")

if password:
tn.read_until("Password: ")
tn.write(password + "\n")

tn.write("ls\n")

tn.write("exit\n")

print tn.read_all()

ssh: link

import pxssh
import getpass
try:
s = pxssh.pxssh()
hostname = raw_input('hostname: ')
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
s.sendline ('uptime') # run a command
s.prompt() # match the prompt
print s.before # print everything before the prompt.
s.sendline ('ls -l')
s.prompt()
print s.before
s.sendline ('df')
s.prompt()
print s.before
s.logout()
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)

关于python - 使用 python SSH 和 telnet 到本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295501/

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