1,install
pip install paramiko
2,demo
2.1,SSHClient
远程服务器上执行命令
import paramiko
transport = paramiko.Transport((ip, port))
transport.connect(username=servername, password=serverpassword)
ssh = paramiko.SSHClient()
ssh._transport = transport
'''执行命令'''
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode('utf-8'))
transport.close()
2.2,SFTPClient
从远程服务器上批量下载文件
#方法1,使用SFTPClient封装transport
#设置ssh链接的远程主机地址和端口
tran = paramiko.Transport((ip,port))
#设置登录名和密码
tran.connect(username=servername,password=serverpassword)
sftp = paramiko.SFTPClient.from_transport(tran)
'''获取当前文件夹下的子文件夹的名称'''
dirnames=get_childname(dirph)
idx=0
for dirname in dirnames:
idx += 1
remote_dirph = os.path.join(remotepath,dirname)
local_dirph=os.path.join(localpath,dirname)
if not os.path.exists(local_dirph):os.mkdir(local_dirph)
else:continue
for filename in sftp.listdir(remote_dirph):
sftp.get(os.path.join(remote_dirph,filename),os.path.join(local_dirph,filename))
if idx%10==0:
print("正在下载{}/{}".format(idx,len(dirnames)))
tran.close()
来源:CSDN
作者:瓜瓜瓜皮XUE
链接:https://blog.csdn.net/github_36570274/article/details/103562016