paramiko 实现ssh登录和sftp登录

Posted alex_huang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了paramiko 实现ssh登录和sftp登录相关的知识,希望对你有一定的参考价值。

简单ssh登录

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=‘192.168.80.200‘,port=22,username=‘root‘,password=‘123‘)
stdin,stdout,stderr = ssh.exec_command(‘df;top‘)
res = stdout.read()+stderr.read()
print(res.decode())

#以下是密钥方式

import paramiko

private_key = paramiko.RSAKey.from_private_key_file("C:\\a\\a.rsa",‘123‘) #没有密钥密码可以不用加“,‘123’”
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname=‘192.168.200.48‘,port=22,username=‘root‘,pkey=private_key)
stdin,stdout,stderr = ssh.exec_command(‘df;top‘)
res = stdout.read()+stderr.read()
print(res.decode())



简单sftp登录

import paramiko

transport = paramiko.Transport((‘192.168.80.200‘,22))
transport.connect(username=‘root‘,password=‘123‘)

sftp = paramiko.SFTPClient.from_transport(transport)

sftp.get(‘/root/1‘,‘2‘)
sftp.put(‘test.py‘,‘/root/3‘)


#以下是密钥方式
import paramiko
private_key = paramiko.RSAKey.from_private_key_file("C:\\a\\a.rsa",‘123‘)

transport = paramiko.Transport((‘192.168.200.48‘,22))
transport.connect(username=‘root‘,pkey=private_key)

sftp = paramiko.SFTPClient.from_transport(transport)

sftp.get(‘/home/aa/1‘,‘2‘)
sftp.put(‘test.py‘,‘/home/aa/3‘)




  

以上是关于paramiko 实现ssh登录和sftp登录的主要内容,如果未能解决你的问题,请参考以下文章

python实现ssh及sftp功能

使用 Paramiko 设置 SSH 隧道以访问 PostgreSQL

paramiko库实现远程登录主机上传下载

带有 SFTP 的 Paramiko SSH 客户端

使用 paramiko 防止 SFTP/SSH 会话超时

Python实现ssh登录远程Ubuntu,并实现命令行的收发