python的学习之旅---paramiko 模块
Posted 恩是的
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的学习之旅---paramiko 模块相关的知识,希望对你有一定的参考价值。
基于用户名密码连接,远程执行命令
import paramiko
# 创建SSH对象
1 ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
1 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
1 ssh.connect(hostname=‘123.56.157.199‘, port=22022, username=‘root‘, password=‘asbsdf.‘)
# 执行命令
while True: cmd=input(‘>>: ‘).strip() stdin, stdout, stderr = ssh.exec_command(cmd) # 获取命令结果 result = stdout.read() print(result.decode(‘utf-8‘)) # 关闭连接 ssh.close()
基于密钥登录
1 import paramiko 2 3 private_key = paramiko.RSAKey.from_private_key_file(r‘C:\\id_rsa‘)
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
1 ssh.connect(hostname=‘123.56.157.199‘, port=22, username=‘root‘, pkey=private_key)
# 执行命令
stdin, stdout, stderr = ssh.exec_command(‘df‘)
# 获取命令结果
result = stdout.read()
print(result.decode(‘utf-8‘))
# 关闭连接
ssh.close()
#上传下载
1 import paramiko 2 3 transport = paramiko.Transport((‘123.56.157.199‘, 22022)) 4 transport.connect(username=‘root‘, password=‘HLH199300.‘) 5 6 sftp = paramiko.SFTPClient.from_transport(transport) 7 # 将location.py 上传至服务器 /tmp/test.py 8 sftp.put(r‘C:\\id_rsa‘, ‘/tmp/test.rsa‘) 9 # 将remove_path 下载到本地 local_path 10 # sftp.get(‘remove_path‘, ‘local_path‘) 11 transport.close()
以上是关于python的学习之旅---paramiko 模块的主要内容,如果未能解决你的问题,请参考以下文章