import paramiko
import os
hostname='192.168.76.10'
username='root'
# password='123456'
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
# ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
privatekey=os.path.expanduser('d:/job/id_rsa_2048')
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
key=paramiko.RSAKey.from_private_key_file(privatekey)
ssh.connect(hostname=hostname,username=username,pkey=key)
stdin,stdout,stderr=ssh.exec_command('free -m')
print stdout.read()
ssh.close()

  • 其中利用了公钥密钥的原理,比如有PC和一台服务器,PC想实现免密码登录linux服务器,就可以生成公钥和密钥,把公钥拷贝到lunx服务器,登录时用自己的密钥来登录
  1. 其中xshell可实现pc机的公钥和密钥:工具-新建用户密码向导可创建公钥密钥
  2. 在服务器端ssh-keygen -t rsa可在根目录下创建.ssh目录并修改了权限,所以我们用这个工具直接生成,免得创建目录和修改密码,在.ssh目录下的id_rsa和id_rs_pub分别的一个私钥和公钥,是用来自己无密码登录别人的
  3. 在.ssh目录下创建authorized_keys文件,并把pc端生成的公钥内容拷贝进去。
  4. 经过配置使用私钥验证就可以免密码登录了。

python实现免密码登录lunx服务器的更多相关文章

  1. 实现利用公钥私钥免密码登录Linux服务器

    原理 客户端生成公钥私钥,把公钥拷贝给linux服务器,用自己的私钥连接服务器.实现如下: 如果是两台Linux服用器A和B,A来实现免密码登录B A执行ssh-keygen -t rsa 就会在/r ...

  2. ssh-keygen生成公私钥免密码登录远程服务器

    1.终端输入命令:ssh-keygen -t rsa ssh-keygen命令专门是用来生成密钥的.该命令有很多选项,这里列出了最基本的四个: -t 用来指定密钥类型(dsa | ecdsa | ed ...

  3. 通过终端使用ssh-keygen免密码登录远程服务器

    使用终端ssh登录远程Linux服务器,每次不输入如密码 原理:使用keygen认证,实现免密码验证即可登录服务器. Linux(包括Mac OS): $ ssh-keygen /*生成密钥*/ $ ...

  4. OpenFire后台插件上传获取webshell及免密码登录linux服务器

    1.目标获取 (1)fofa.so网站使用搜索body="Openfire, 版本: " && country=JP,可以获取日本存在的Openfire服务器.如图 ...

  5. openssh设置免密码登录远程服务器

    主机 host | 远程机器 server 目标:从host登录到server,免密码输入 host机器: ssh-keygen -t rsa 在~/.ssh/中会生成两个文件 id_rsa.pub和 ...

  6. ssh免密码登录远程服务器(不采用securecrt登录)

      http://blog.csdn.net/leexide/article/details/17252369       Linux/UNIX下使用ssh-keygen设置SSH无密码登录 标签:  ...

  7. MAC下ssh免密码登录远程服务器

    生成密钥.在终端下执行命令: ssh-keygen -t rsa 一路回车,各种提示按默认不要改,等待执行完毕.然后执行: ls ~/.ssh #可以看到两个密钥文件:id_rsa(私钥) id_rs ...

  8. SSH免密码登录Linux服务器

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=587 操作环境: 客户机操作系统:Ubuntu Linux 服务器操作系统:CentOS Linux 免密登陆的原理: ...

  9. linux SSH免密码登录远程服务器

    背景:无密码登录,所谓的无密码登录其实是指通过证书认证的方式登录,使用一种‘公私钥’认证的方式来进行ssh登录 在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加 ...

随机推荐

  1. Javascript间歇调用和超时调用

    间歇调用:每隔指定的时间就执行一次代码 超时调用:在指定的时间过后执行代码  HTML Code  12345678910111213141516171819   <!DOCTYPE html& ...

  2. hdu 4005(边双连通)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4005 思路:首先考虑边双连通分量,如果我们将双连通分量中的边删除,显然我们无法得到非连通图,因此要缩点 ...

  3. iOS JSON字符串转化为字典-字典转Json字符串-

    1. JSON字符串转化为字典 + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString = ...

  4. Laravel5.1 请求

    这篇主要说说Request 每当用户访问我们的网站功能时都会用到它 我们可以使用Request中的一些数据来做出适当的相应. 1 常用的属性和方法 我们可以从Request中取到一些重要属性来做一些逻 ...

  5. 《从零开始学Swift》学习笔记(Day 50)——扩展计算属性、方法

    原创文章,欢迎转载.转载请注明:关东升的博客 可以在原始类型上扩展计算属性,包括实例计算属性和静态计算属性.添加计算属性的定义,与普通的计算属性的定义是一样的. 实例计算属性示例:在网络编程时,为了减 ...

  6. Xamarin.Forms学习之位图(二)

    上篇文章分享了如何加载网络图片和PCL中的图片,所以今天继续分享关于如何加载平台的内嵌图片,在这之前说一下上篇文章开头的一个问题:为什么不能加载UWP项目,这是因为我升级了UWP的SDK,而Xamar ...

  7. 使用 Docker 部署 MongoDB 分片

    创建配置服务复制集 docker run --name configsvr0 -d mongo:3.6.2-jessie --configsvr --replSet "rs_configsv ...

  8. MySQL中行锁的算法

    行锁的3中算法 Record Lock:单个行记录上的锁 Gap Lock:间隙锁,锁定一个范围,但不包含记录本身 Next-key Lock:Gap Lock+Record Lock锁定一个范围,并 ...

  9. MySQL 8.0的十大新特性

    今天,让我们看一下MySQL8.0提升数据库管理员工作效率的十大改进. 从一大堆特性你们找出十点并不太容易,以下是这十大特性: 1.临时表的改进 2.持续的全局变量 3.取消默认MyISAM系统表 4 ...

  10. 算法寒假实习面试经过之 滴滴(电话一面二面 offer)

    一面:1h 介绍比赛项目. lr与xgb的区别? xgb 为什么不用归一化,onehot? xgb 与 gbdt的区别. 做这些比赛你们的优势在哪,既然全是相同的套路. RCNN的原理, CNN的原理 ...