一、SSH简介

  SSH(Secure Shell)属于在传输层上运行的用户层协议,相对于Telnet来说具有更高的安全性。

二、SSH远程连接

  SSH远程连接有两种方式,一种是通过用户名和密码直接登录,另一种则是用过密钥登录。

  1、用户名和密码登录

  花花1要在自己的主机登录花花2的电脑,她可以通过运行以下代码来实现

import paramikossh = 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 paramikoprivate_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无疑了。


转载于:https://www.cnblogs.com/huahua12/p/7491729.html

python之SSH远程登录相关推荐

  1. python ssh 远程登录路由器执行命令_ssh批量登录并执行命令(python实现)

    局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件 ...

  2. 20180921 su与sudo命令、限制root用户通过ssh远程登录

    2019独角兽企业重金招聘Python工程师标准>>> su 命令 用户切换. su # 切换到root用户 su username # 切换到username用户 # su 后面加 ...

  3. linux服务器之间调用反应慢,Linux使用ssh远程登录服务器反应慢的解决办法

    机房里其它机器使用ssh远程都正常,新来一个服务器每次使用ssh远程登录的时候,"root@***.***.***.***'s password:"这行输入密码的提示都来的特别慢, ...

  4. CISCO路由器TELNET和SSH远程登录配置实例

    一.TELNET远程登录配置 1.配置CISCO路由器上登录账号.口令.账号级别,如下所示,账号名abc.口令为abc123.账号级别为15(最高级别) R1#configure terminal R ...

  5. key位置 win10生成的ssh_华为路由器配置SSH远程登录,就这么简单

    SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密. SSH远程登录华为路由器 SSH是在传统的Telnet协议之 ...

  6. ssh远程登录执行shell脚本,找不到jps

    直接运行jps命令正常,但是通过ssh远程登录后,执行shell脚本不能进行jps. 原因是有可能你的jps不在PATH中. 要注意bash在交互模式和非交互模式读取的配置文件是不同的,为了解决这种差 ...

  7. mac ssh远程登录linux,MAC使用SSH远程登录

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Sun 20 December 2015 tags: 备忘录 MAC使用SSH远程登录打开ssh Mac Termina ...

  8. SSH远程登录VWware上的LFS

    SSH远程登录VWware上的LFS 用VMware做LFS实验时,需要大量的代码输入,鼠标切换很是不方便,如果可以用SSH远程登录VMware,那就方便多了.实现方法如下: 一.配置网卡 LFS启动 ...

  9. 本地和ssh服务器传文件,SSH远程登录实现本地机和服务器的文件传输

    SSH是一种以安全.加密方式连接远程主机或服务器的方法.SSH服务器接受从有SSH的客户机的连接,允许操作者象在本地一样地登录系统.如果已经搭建了SSH远程登录服务,如何实现本地机和远程服务器的文件交 ...

最新文章

  1. 【高级Java架构师系统学习】java如何开发安卓软件
  2. Spring-基于注解的配置[03Bean作用范围和生命周期方法]
  3. Spring - Java/J2EE Application Framework 应用框架 第 7 章 事务管理
  4. SpringBoot2.x开发案例之整合Quartz任务管理系统
  5. 电脑mod_(电脑游戏) 层层恐惧2、冒险游戏——电脑配置要求单机游戏MOD攻略修改器下载...
  6. 安装win7的小插曲
  7. 鸿蒙系统为什么腾讯,鸿蒙系统发布,为什么有人说其为安卓换壳?
  8. linux驱动编译成kext,Hackintosh:制作AppleALC以驱动原生AppleHDA
  9. 【移动安全基础篇】——26、两个简单app破解
  10. 多张图片合成一张jpg工具_如何将两张图片合成一张图片?
  11. 网络安全专栏——telnet远程登录数据包捕获个性化登录账号及密码(图文丰富 保姆级 有几种错误解决方案 为什么不用输入telnet密码就能登录 )
  12. 重写iView中Modal对话框取消和确定按钮
  13. 试验设计与方差分析的基本原理——以单因素试验为例
  14. 【单片机仿真】(四)寻址方式 — 寄存器寻址与直接寻址
  15. 如何获取国际短信验证码---创蓝253国际短信接口调用demo
  16. C# word类库 光标移动
  17. 百度网盘秒传链接怎么用及实现原理
  18. 程序员的自我进化:学习之道,如何更有效的学习
  19. CTU Open Contest 2017 Pond Cascade
  20. 计算机和档案管理是什么专业,社会都在进行档案数字化,那么档案专业的人员,都有什么呢?...

热门文章

  1. modelandview跳转页面404_Thinkphp制作404跳转页
  2. 电力职称计算机多选,【2017年整理】职称计算机考试Office多选模拟题及答案.doc...
  3. 9个元素换6次达到排序序列_一文带你读懂排序算法(三):堆排序算法
  4. linux系统下docker安装,Linux下Docker的安装与使用
  5. 2020年学什么计算机软件,2020年大学计算机软件专业排行榜
  6. php web目录结构,目录结构
  7. python3打开文件的代码_Python3 对文件操作
  8. bulk这个词的用法_雅思考试真题解析|雅思听力“正负含义词”的妙用
  9. php设计模式简单代码,PHP设计模式(1)工厂模式
  10. stm32官方例程在哪找_STM32开发学习资料合集