PYTHON之SSH远程登录
2018-02-27 18:55
120 查看
一、SSH简介 SSH(Secure Shell)属于在传输层上运行的用户层协议,相对于Telnet来说具有更高的安全性。 二、SSH远程连接 SSH远程连接有两种方式,一种是通过用户名和密码直接登录,另一种则是用过密钥登录。 1、用户名和密码登录 花花1要在自己的主机登录花花2的电脑,她可以通过运行以下代码来实现
在这里要用到paramiko模块,这是一个第三方模块,要自自己导入(要想使用paramiko模块,还要先导入pycrypto模块才能用)。 tips: 下载一个pip(超级好用!!!完美地避开自己导入模块会出现的莫名其妙的错误),输入pip install paramiko一句话解决 2、密钥登录 花花1要在自己的主机登录花花2的电脑,花花1用命令ssh.keygen -t rsa生成公钥和私钥,她将自己的公钥发给花花2,使用ssh-copy-id -i ~/ssh/id_rsa.pub huahua2@IP命令
然后运行以下代码来实现
关于密钥登录,每个人都有一个公钥,一个私钥,公钥是给别人的,私钥是自己留着,只有自己的私钥能解开自己公钥加密的文件。 花花1有一个情书要发给花花2,就要先下载花花2的公钥进行加密,这样花花2就能用自己私钥解开这情书,获得内容。 如果花花2要确认是否是花花1本人给她寄的情书,就去下载一个花花1的公钥,随机写一些字母,用花花1的公钥加密,发给对方,对方解密之后发回给花花2,如果花花2收到的解密后的字母和自己发出去的一样,对方就是花花1无疑了。
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 跳过了远程连接中选择‘是’的环节, ssh.connect('IP', 22, '用户名', '密码') stdin, stdout, stderr = ssh.exec_command('df') print stdout.read()
在这里要用到paramiko模块,这是一个第三方模块,要自自己导入(要想使用paramiko模块,还要先导入pycrypto模块才能用)。 tips: 下载一个pip(超级好用!!!完美地避开自己导入模块会出现的莫名其妙的错误),输入pip install paramiko一句话解决 2、密钥登录 花花1要在自己的主机登录花花2的电脑,花花1用命令ssh.keygen -t rsa生成公钥和私钥,她将自己的公钥发给花花2,使用ssh-copy-id -i ~/ssh/id_rsa.pub huahua2@IP命令
然后运行以下代码来实现
import paramiko private_key_path = '/home/auto/.ssh/id_rsa' key = paramiko.RSAKey.from_private_key_file(private_key_path) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('IP', 22, '用户名', key) stdin, stdout, stderr = ssh.exec_command('df') print stdout.read()
关于密钥登录,每个人都有一个公钥,一个私钥,公钥是给别人的,私钥是自己留着,只有自己的私钥能解开自己公钥加密的文件。 花花1有一个情书要发给花花2,就要先下载花花2的公钥进行加密,这样花花2就能用自己私钥解开这情书,获得内容。 如果花花2要确认是否是花花1本人给她寄的情书,就去下载一个花花1的公钥,随机写一些字母,用花花1的公钥加密,发给对方,对方解密之后发回给花花2,如果花花2收到的解密后的字母和自己发出去的一样,对方就是花花1无疑了。
相关文章推荐
- 用Python写个自动ssh登录远程服务器的小工具
- Python免秘钥ssh远程登录执行命令and本地执行shell命令
- 用python脚本执行ssh远程登录多台机器
- python实现动态更新远程机器列表的SSH登录脚本
- 用python写个自动SSH登录远程服务器的小工具(实例)
- python 使用ssh远程登录并执行命令返回结果
- python paramiko实现ssh远程登录
- 《Python 黑帽子》学习笔记 - SSH 远程登录 - Day 11
- linux使用Python上秘钥远程登录ssh执行shell命令
- python ssh2远程登录节点并执行命令
- [Python Fabric] [SSH] Mac OS X 10.9 + Vagrant虚拟环境使用Python Fabric进行SSH远程登录的简单实验
- 用python脚本执行ssh远程登录多台机器
- 通过linux ssh远程登录另一台Linux,无需密码,用证书验证
- 用ssh远程登录Linux主机
- 用SSH远程登录Linux【转】
- shell实现ssh自动登录远程主机
- SSH原理与运用(一):远程登录
- SSH远程管理(用户登录控制及密码验证)
- Linux-Centos7通过 ssh 远程登录其他用户