Chinaunix首页 | 论坛 | 博客
  • 博客访问: 442779
  • 博文数量: 127
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-02 20:51
文章分类

全部博文(127)

文章存档

2018年(6)

2015年(18)

2014年(33)

2013年(70)

分类: Python/Ruby

2014-11-19 14:24:24

1.使用密码的SSH连接

 

  1. #!/usr/bin/env python



  2. import paramiko



  3. #远程服务器

  4. hostname = ‘192.168.0.1’

  5. #端口

  6. port = 22

  7. #用户名

  8. username = ‘Dominic’

  9. #密码

  10. password = ‘123456’



  11. #创建SSH连接日志文件(只保留前一次连接的详细日志,以前的日志会自动被覆盖)

  12. paramiko.util.log_to_file(‘paramiko.log’)

  13. s = paramiko.SSHClient()

  14. #读取know_host

  15. s.load_system_host_keys()

  16. #建立SSH连接

  17. s.connect(hostname,port,username,password)

  18. stdin,stdout,stderr = s.exec_command(‘df -h’)

  19. #打印标准输出

  20. print stdout.read()

  21. s.close()

 

由于第一种方式采用密码交互方式登陆远程服务器,使用起来不安全,下面这种方式采用KEY的方式登陆远程服务器,非常安全。

 

2.连接SSH服务器并远程执行命令-使用rsa私钥加密方式创建SSH连接

A.生成KEY

Linux # ssh-keygen –t rsa

 

B.创建SSH连接

  1. #!/usr/bin/env python



  2. import paramiko



  3. hostname = ‘192.168.0.1’

  4. port = 22

  5. username = ‘Dominic’

  6. pkey_file =/home/Dominic/.ssh/id_rsa’



  7. key = paramiko.RSAKey.from_private_key_file(pkey_file)

  8. s = paramiko.SSHClient()

  9. s.load_system_host_keys()

  10. s.connect(hostname,port,username,pkey=key)

  11. stdin,stdout,stderr = s.exec_command(‘df -h’)

  12. print stdout.read()

  13. print stderr.read()

  14. s.close()

 

3.连接SSH服务器并远程执行命令-使用dsa私钥加密方式创建SSH连接

A.生成KEY

Linux # ssh-keygen –t dsa

 

B.创建SSH连接

  1. #!/usr/bin/env python



  2. import paramiko



  3. hostname = ‘192.168.0.1’

  4. port = 22

  5. username = ‘Dominic’

  6. pkey_file =/home/Dominic/.ssh/id_dsa’



  7. key = paramiko.DSSKey.from_private_key_file(pkey_file)

  8. s = paramiko.SSHClient()

  9. s.load_system_host_keys()

  10. s.connect(hostname,port,username,pkey=key)

  11. stdin,stdout,stderr = s.exec_command(‘df -h’)

  12. print stdout.read()

  13. print stderr.read()

  14. s.close()

 

 

 

阅读(3925) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~