web-dev-qa-db-ja.com

PuTTYに接続し、いくつかのコマンドを入力します

PuTTYに接続し、いくつかの手順を実行したい:

  1. puTTYにログインします
  2. いくつかのコマンドを入力してサーバーを停止します
  3. 特定のパスに移動します
  4. ディレクトリからファイルを削除します
  5. サーバーを再起動します

Windowsでコードを書く必要があります。しかし、私のサーバーはLinuxです。どうすればいいですか?前もって感謝します

6
Reetesh Nigam

必要なのはパラミコですが、初心者には少し複雑かもしれません。

単純で反復的なタスクの場合、私のスクリプトを使用できます-それは 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の両方で機能するはずです。私のスクリプトを使用すると、呼び出したいコマンドを操作するだけで、必要に応じてコードを調整できます。

幸運を。それが役に立ったかどうか教えてください。

8
Tadeck

次のようなコードを使用できます。

_command = "plink.exe -ssh username@" + hostname + " -pw password -batch \"export DISPLAY='" + hostname + "/unix:0.0' ; "_

これにより、hostnameusernameを使用して目的のpasswordにsshが開きます。

シャットダウン:_command += "Sudo /sbin/halt\""_

再起動:_command += "Sudo /sbin/reboot\""_

上記と同じ方法を使用して他のコマンドを追加し、

次のコマンドを実行します。

pid = subprocess.Popen(command).pid

Tadeckが指摘しているように、これはLinuxマシンに接続しようとしているWindowsマシンでのみ機能します。

3
Serdalis

あなたはこれを行うことができます:

# 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接続プロファイルの名前を入力するのが最適です。

3
glglgl
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に接続しています。私の環境で機能しています。

3
L. Ouyang

SSHサーバーへのログインが必要だと思うので、 http://www.lag.net/paramiko/ を使用してみませんか?したがって、PuTTYは必要ありません

0
W0bble

Fabric を使用してこれらの手順を実行できます。

0

PuTTYを使用してubuntuマシンに接続し、pythonスクリプトを作成して実行するには、これを確認してください link

0
NKN