For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
用法1,SSHClient
分别可以使用密码和秘钥登陆,然后执行命令,并且获取执行结果:
import paramiko
#创建一个SSH对象
ssh = paramiko.SSHClient()
#允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#通过用户名和密码去连接服务器
ssh.connect(hostname="127.0.0.1",port=22,username="xxxxx",password="123")
#执行命令,stdin是输入,stdout是正常的输入,stderr是错误的输出,这里正常的输出
#和错误的只能有一个有值
stdin,stdout,stderr = ssh.exec_command("df")
#获取命令结果
res = stdout.read()
res = stderr.read()
ssh.close()
# 上面是基于用户名密码访问ssh,其实还可以通过秘钥去访问ssh
#创建一个SSH对象
ssh = paramiko.SSHClient()
priv_key = paramiko.RSAKey.from_private_key_file("ke用的路径")
#允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#通过秘钥去连接服务器
ssh.connect(hostname="127.0.0.1",port=22,username="xxxxx",pkey=priv_key)
#执行命令,stdin是输入,stdout是正常的输入,stderr是错误的输出,这里正常的输出
#和错误的只能有一个有值
stdin,stdout,stderr = ssh.exec_command("df")
#获取命令结果
res = stdout.read()
res = stderr.read()
ssh.close()
用法2,transport,上传和下载文件
import paramiko
transport = paramiko.Transport(("hostname",22))
#通过用户名密码去连接
transport.connect(username="xxxx",password="123")
sftp = paramiko.SFTPClient.from_transport(transport)
#把本地文件上传到远程
sftp.put("/tmp/local/xxxx.py","tmp/test.py")
#把远程文件下载到本地
sftp.get("remove_path","local_path")
#关闭transport
transport.close()
想学习一门专业的IT技术,就来昆明达内培训:网络营销培训、UI设计培训、Java培训、web前端、Linux、PHP、Python等,欢迎来达内【昆明IT培训】或者电话咨询了解。免费试听课程活动正式启动,限额试听,先报先得。