ssh/login 到网络上的构建服务器并注销

ssh/login to a buildserver on the network and logout

我正在尝试通过 ssh 连接到网络上的构建服务器和 运行 一些命令并注销服务器,我查看了其他帖子 并编写了以下代码但它不起作用?任何人都可以提出错误的地方或者有更好的方法来完成这个吗?提前感谢

import os
import sys
import pexpect
#os.system(ssh username@buildservername)
child = pexpect.spawn('ssh username@buildservername', logfile=sys.stdout)
#child.expect('Are you sure you want to continue connecting (yes/no)?')
#child.sendline('yes')
#child.expect('password:')
child.sendline('password')
cmd = 'hostname'
os.system(cmd)
os.chdir('//local/mnt/workspace')
os.mkdir('newdir')
os.getcwd()

你可以看看Paramiko library, especialy the SFTPClient

它是原生 Python SSHv2 协议库。

import paramiko

ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect('buildservername', username='yadomi', password='password')

sftp = ssh.open_sftp()
sftp.chdir('/local/mnt/workspace')
sftp.mkdir('newdir')