1、http://t.zoukankan.com/xiamaojjie-p-13385223.html
执行多条linux命令,多条命令放在一个单引号下面,各命令之间用分号隔开,如:cmd_str = "cd /;cd etc;ls -l;" 且在末尾加上get_pty=True
demo如下:
import paramiko
def remot_connect(hostname, port, username, password, cmd_str):
# 创建SSHClient 实例对象
ssh = paramiko.SSHClient()
# 调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程机器,地址,端口,用户名密码
ssh.connect(hostname, port, username, password, timeout=10)
# 输出命令执行结果
stdin, stdout, stderr = ssh.exec_command(cmd_str, get_pty=True)
result = stdout.read()
print(result.decode())
# 关闭连接
ssh.close()
if __name__ == '__main__':
hostname = "121.196.120.113"
port = 22
username = "root"
password = "123_Xiaohaikun"
cmd_str = "cd /;cd etc;ls -l;"
remot_connect(hostname, port, username, password, cmd_str)
代码运行结果如图:
xshell上显示如图: