3

これが問題です。スクリプトを使用して、telnet 接続を介してデバイスに直接接続していました ( Windows デスクトップ<=(telnet)=>からデバイスへ)。基本的に、私のスクリプトはTL1でいくつかのコマンドを実行し、出力をキャプチャして、パラメーター値に従って続行します...かなり簡単です。

このデバイスは別のネットワークにインストールされますが、telnet で直接アクセスすることはできません。ここで、特定のサーバーで ssh 接続を開始し、そこから telnet セッションを開始する必要があります。(私の Windows デスクトップ<=(ssh)=>サーバー<=(telnet)=>からデバイスへ)

私はparamikoの基本を理解しています... jessenolerのWebサイトでそのコードを見つけました:

import paramiko
ssh.connect('127.0.0.1', username='jesse', password='lol')
stdin, stdout, stderr = ssh.exec_command("uptime")
type(stdin)
stdout.readlines()
# output:
# ['13:35  up 11 days,  3:13, 4 users, load averages: 0.14 0.18 0.16\n']

サーバーからtelnetを開始する方法がわかりません...使用する必要があります:

ssh.exec_command("telnet 10.10.10.10 10001")

私の問題を解決する最も簡単な方法は、サーバーに Python をインストールすることだとわかっていますが、できません。誰かが前にそのような問題に直面しましたか? 入力していただきありがとうございます!:)

4

1 に答える 1

3

通常の接続を開く代わりに、SSH トンネルをセットアップする必要があります。これは、クライアントのコマンド ラインから を使用して-L localport:server:remoteport行うか、python から を使用して行うことができますparamiko

Pythonでそれを行う方法の詳細については、この回答リンクされた要旨をご覧ください。

これを設定したらlocalhost、localport として指定されたポートに telnet で接続する必要があります。

于 2012-04-20T21:51:02.563 に答える