paramiko -SSH学习

SSHClient

用于连接远程服务器并执行基本命令

1、SSH登陆到交换机执行指令,并且将结果反馈到file1

import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='IP', port=22, username='admin', password='123')
  
# 执行命令
stdin, stdout, stderr = ssh.exec_command('display interface brief')
# 获取命令结果
result = stdout.read()
f = open("file1","wb")
f.write(result)
f.close()
ssh.close()
# 关闭连接
ssh.close()
 
 
另外一种方法,有登陆日志,不错
 
# -*- coding: utf-8 -*-
import paramiko

def sshclient_execmd(hostname, port, username, password, execmd):
paramiko.util.log_to_file("paramiko.log")

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname=hostname, port=port, username=username, password=password)
stdin, stdout, stderr = ssh.exec_command(execmd)
stdin.write("Y") # Generally speaking, the first connection, need a simple interaction.
a = stdout.read()
file = open("log","wb")
file.write(a)
file.close()
ssh.close()

def main():
hostname = ''
port = 22
username = ''
password = ''
execmd = "display ip interface brief"
sshclient_execmd(hostname, port, username, password, execmd)
posted @ 2017-08-08 16:29  hapen  阅读(207)  评论(0编辑  收藏  举报