python ssh到linux
来源:互联网 发布:js数组按数字大小排序 编辑:程序博客网 时间:2024/05/29 17:19
问题:使用python脚本对服务器上的文件进行查询
其中:
服务器使用ssh的用户名/密码方式认证;
解决方法:
1. 使用paramiko模块实现ssh登录部分
测试环境:virtualbox+linux mint17
python ssh到linux
python模块paramiko已实现ssh协议,import即可
代码实现:
import paramikoimport pprint #pretty print result, not necessarydef ssh2(ip,port,username,passwd,timeout=10): ssh = paramiko.SSHClient() ssh.connect(ip,22,username,passwd) pprint.pprint(stdout.read().decode('utf-8').split('\n'))ssh2('192.168.56.101',22,'ubuntu','ubuntu')
测试结果:
对以上脚本修改:
1.ssh中添加对unknown host的忽略操作
2.而且ssh登录成功之后需要返回一个结果以判断是否登录到了默认目录,所以ssh2函数添加cmd参数,在登录成功后查看ls的结果
3.增加兼容性,ssh以用户名/密码方式登录,或者以ssh证书方式登录。所以ssh2函数增加key_file做可变参数
修改后代码:
#!/usr/bin/env python3import paramikoimport pprintdef ssh2(ip,port,username,passwd,timeout=10,cmd='ls',*key_file): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip,22,username,passwd) stdin,stdout,stderr = ssh.exec_command(cmd) pprint.pprint(stdout.read().decode('utf-8').split('\n'))if __name__ == '__main__': ssh2('192.168.56.101',22,'ubuntu','ubuntu')
运行结果:
至此,登录到linux并显示/ubuntu/home目录下文件的功能实现。
服务器上/ubuntu/home目录下文件为:
参考:
python ssh:
python模块paramiko与ssh
使用python的paramiko模块实现ssh与scp功能
http://www.361way.com/python-paramiko-ssh/3984.html
0 0
- python ssh到linux
- putty远程ssh到linux
- ssh 无法连接到Linux
- ssh连接到linux失败
- Python SSH登录Linux主机
- python远程ssh连接linux
- linux 到 linux 的ssh远程复制
- 移植Open SSH到DM368 IPNC中 linux arm ssh
- 有时ssh到linux很慢
- SSH/telnet到Linux显示乱码问题
- ssh从本地上传到Linux服务器
- 本地ssh连接到vbox中的linux
- linux下ssh上传下载文件到服务器
- Windows通过Python登录Linux服务器 ----SSH
- 用Python来SSH连接到你的机器
- python 实现多个文件拷贝到ssh 目标机子
- python工程部署到linux
- PYTHON SSH
- hdu1280前m大的数
- ITK SNAP打开三维图像分割结果
- TCP三次握手建立连接
- poj 3347 Kadj Squares(计算几何)
- Rescue HDU1242 (BFS+优先队列)
- python ssh到linux
- 浅拷贝和深拷贝
- 神经网络算法与实践
- 小浣熊干脆面
- noip2009靶形数独题解 转自middlesch_nce24的微博http://blog.sina.com.cn/s/blog_5d0d0f450100jm6u.html#
- java 統計代碼行數
- 考驾照学会的那些事
- Linux系统下安装DB2数据库
- mac下找回未保存的office文档