SSH接続したゲートウェイ機器(Armadillo-IoT G3)からの応答をHTMLで表示したい

以下のコードをVS code上で作成し,ゲートウェイ機器(Armadillo-IoT G3)とのSSH接続,ファイルの一覧を取得し,HTMLで表示するため「ls」コマンドを送信し,リストを取得しようとしています。


import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('12-345-678-901.napter.soracom.io', port=12345, username='test', password='12345')
stdin, stdout, stderr = ssh.exec_command('ls')

print(stdout.read(), type(stdout.read()))

output = stdout.read().decode('utf-8')

print(output)

ssh.close()

return render_template ('Test_top_page.html', list = output)


print(stdout.read(), type(stdout.read()))の行で,「ls」コマンドの応答を取得していることは確認できるのですが,その次の行でoutputに格納できず,HTML側に渡すデータがなくなってしまうのですが,この原因は何でしょうか。

なお,「ls」コマンドを送信し,応答をprint関数で表示すると以下のように表示されます。
b'test.py\ntest.csv\ntest.txt\n' <class 'bytes'>
これをdecodeし,文字列かリストにしてHTML側に渡し,web上で表示したいと考えています。

コメントを投稿

0 コメント