基于用户名和密码的sshclient方式登录:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
#说明:基于用户名和密码的sshclient方式登录
import paramiko
try:
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname="192.168.58.136",port=22,username="root",password="111111")
    stdin,stdout,stderr = ssh.exec_command("ifconfig")
    print (stdout.read().decode().rstrip())
    ssh.close()
except Exception as e:
    print ("操作失败!")

基于用户名和密码的transport方式登录:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
#说明:基于用户名和密码的transport方式登录
import paramiko
try:
    trans = paramiko.Transport(("192.168.58.136",22))
    trans.connect(username="root",password="111111")
    ssh = paramiko.SSHClient()
    ssh._transport = trans
    stdin,stdout,stderr = ssh.exec_command("ifconfig")
    print (stdout.read().decode().rstrip())
    trans.close()
except  paramiko.SSHException:
    print "操作失败!"

传输文件:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
#说明:传输文件
import paramiko
try:
    trans = paramiko.Transport(("192.168.58.136",22))
    trans.connect(username="root",password="111111")
    sftp = paramiko.SFTPClient.from_transport(trans)
    #发送文件
    sftp.put(localpath="/root/code/test.py",remotepath="/root/test.py")
    #下载文件
    #sftp.get(remotepath,localpath)
    trans.close()
except paramiko.SSHException:
    print "操作失败"