paramiko

 

#SSHClient  (用户连接远程服务器执行基本的命令)

基于用户名及密码

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.10.1.26', port=22, username='root', password='root1')
stdin, stdout, stderr = ssh.exec_command('df')
result = stdout.read()
print(result.decode())
ssh.close()

#SSHClient封装Transport

import paramiko
transport = paramiko.Transport(('10.10.1.26', 22))
transport.connect(username='root', password='root1')

ssh = paramiko.SSHClient()
ssh._transport = transport
stdin, stdout, stderr = ssh.exec_command('df')
result = stdout.read()
print(result.decode())
ssh.close()

 

基于密钥:

import paramiko
private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.10.1.26', port=22, username='root', pkey=private_key)
stdin, stdout, stderr = ssh.exec_command('df')
result = stdout.read()
print(result.decode())
ssh.close()

 

private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
transport = paramiko.Transport(('10.10.1.26', 22))
transport.connect(username='root', pkey=private_key)
ssh = paramiko.SSHClient()
ssh._transport = transport
stdin, stdout, stderr = ssh.exec_command('df')
result = stdout.read()
print(result.decode())
ssh.close()

 

#SFTPClient  (用户连接远程服务执行上传下载文件操作)

import paramiko
transport = paramiko.Transport(('10.10.1.26', 22))
transport.connect(username='root', password='root1')
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put('/opt/packages/tengine-2.2.0.tar.gz', '/tmp/tengine-2.2.0.tar.gz')
sftp.get('/tmp/tengine-2.2.0.tar.gz', '/tmp/tengine-2.2.0.tar.gz')
transport.close()

 

import paramiko
private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
transport = paramiko.Transport(('10.10.1.26', 22))
transport.connect(username='root', pkey=private_key)
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put('/opt/packages/tengine-2.2.0.tar.gz', '/tmp/tengine-2.2.0.tar.gz')
sftp.get('/tmp/tengine-2.2.0.tar.gz', '/tmp/tengine-2.2.0.tar.gz')
transport.close()

posted @ 2017-12-05 15:47  helloworld899  阅读(182)  评论(0编辑  收藏  举报