python - Python:SSH 到远程终端和 telnet 到 localhost
问题描述
我对python有点陌生。我正在尝试通过 SSH 连接到远程(本地网络)计算机,然后从那里 telnet 到 localhost。从那里,我想自动化一些我将通过 SSH 隧道发送到 telnet 的命令。
我已经能够使用下面的代码通过 SSH 登录。使用此代码,我可以使用例如ssh("pwd")
yielding发送命令['/home/jango\n']
,作为我的 IDLE shell 中的输出。这也适用于其他命令。
我非常想从这里远程登录到本地主机。我通常会去telnet localhost 2323
,(当我只是通过我的终端手动进行 SSH 和 telnet 时)我会从那里发送命令,但是当我尝试时ssh("telnet localhost 2323")
,我没有从 IDLE 获得任何输出,并且命令永远不会完成(我没有回到>>>
)。
谁能帮我?
#define vaiables
host="1.1.1.1"
username="jango"
password="unchained"
port=22
#Import everything. I know this is too much.
import base64
from binascii import hexlify
import getpass
import os
import select
import socket
import sys
import time
import traceback
import paramiko
from paramiko.py3compat import input
#defining sshclient
sshclient = paramiko.SSHClient() # This works, but this other one does not work. Why?? #from paramiko import SSHClient as ssh
sshclient.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #ignores missing key
sshclient.connect(host, port, username, password) #logs in
def ssh(command):
stdin, stdout, stderr = sshclient.exec_command(command)
lines = stdout.readlines()
print(lines)
解决方案
推荐阅读
- php - 在 laravel 中下载之前显示或预览 pdf 文件
- python - 在发布期间/之前清理 Git 历史记录、添加新提交并将更改带回开发人员的推荐方法
- c++ - 如何从圆上的中间点和其他点之间的角度计算圆上的点
- java - Git - 在不同的行上创建一个带有键值对和符号的 JSON 文本文件,以确保没有合并问题
- python - 将行转换为熊猫列下的值列表
- cassandra - 尝试在 cqlsh 中运行创建和选择时出错:NoHostAvailable
- php - builder where 和 codeigniter query builder 工作方式的区别
- java - 运行 jar 文件时无法找到或加载主类
- django - 如何在 Django 中将日历范围设置为 1 周
- excel - 如何在 VBA 中选择一系列单元格?