PuTTYに接続し、いくつかの手順を実行したい:
Windowsでコードを書く必要があります。しかし、私のサーバーはLinuxです。どうすればいいですか?前もって感謝します
必要なのはパラミコですが、初心者には少し複雑かもしれません。
単純で反復的なタスクの場合、私のスクリプトを使用できます-それは GitHub(https://github.com/tadeck/sshにあります) -matic) そしてPythonを学ぶために作成されました。これは、他の誰かのフレンドリーなSSH Python interfaceto Paramiko( ここからアクセス可能なコード )。
上記のSSHモジュールを使用してサーバーに接続し、コマンドを実行するのはかなり簡単です。
import ssh
server = ssh.Connection(Host='Host', username='user', private_key='key_path')
result = server.execute('your command')
基本的に必要なのはPuTTYではなく、PythonへのSSHモジュールです。このモジュールは、WindowsとLinuxの両方で機能するはずです。私のスクリプトを使用すると、呼び出したいコマンドを操作するだけで、必要に応じてコードを調整できます。
幸運を。それが役に立ったかどうか教えてください。
次のようなコードを使用できます。
_command = "plink.exe -ssh username@" + hostname + " -pw password -batch \"export DISPLAY='" + hostname + "/unix:0.0' ; "
_
これにより、hostname
とusername
を使用して目的のpassword
にsshが開きます。
シャットダウン:_command += "Sudo /sbin/halt\""
_
再起動:_command += "Sudo /sbin/reboot\""
_
上記と同じ方法を使用して他のコマンドを追加し、
次のコマンドを実行します。
pid = subprocess.Popen(command).pid
Tadeckが指摘しているように、これはLinuxマシンに接続しようとしているWindowsマシンでのみ機能します。
あなたはこれを行うことができます:
# Use plink to open a connection to the remote Shell
command = "plink.exe -ssh %s -batch" % credentials
sp = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
# Send commands to the Shell as if they were read from a Shell script
sp.stdin.write("command1\n")
sp.stdin.write("command2\n")
sp.stdin.close()
# read out the answers, if needed
ans = sp.stdout.read()
sp.wait()
credentials
の場合、ユーザー名セットとSSHキーを使用して、PuTTY接続プロファイルの名前を入力するのが最適です。
from pywinauto.application import Application
import time
app = Application ().Start (cmd_line=u'PuTTY -ssh [email protected]')
PuTTY = app.PuTTY
putty.Wait ('ready')
time.sleep (1)
PuTTY.TypeKeys ("password")
PuTTY.TypeKeys ("{ENTER}")
time.sleep (1)
PuTTY.TypeKeys ("ls")
PuTTY.TypeKeys ("{ENTER}")
python 2.7。コードはWindowsで実行されており、リモートLinuxに接続しています。私の環境で機能しています。
SSHサーバーへのログインが必要だと思うので、 http://www.lag.net/paramiko/ を使用してみませんか?したがって、PuTTYは必要ありません
Fabric を使用してこれらの手順を実行できます。
PuTTYを使用してubuntuマシンに接続し、pythonスクリプトを作成して実行するには、これを確認してください link